首页 > 解决方案 > 根据多个答案显示表单字段

问题描述

我正在创建一个注册表单,并创建了仅根据所选值显示的隐藏字段。问题是我不知道如何根据选择的多个值显示该字段。

例如:假设其中一个问题有一个下拉菜单,其中包含可能的答案 A、B、C 或 D,我了解如何让隐藏字段显示是否选择了一个答案,但如果他们选择则无法显示A 或 B。

这是我的代码,我希望它显示了我正在尝试做的事情:

     $fields[] = new PMProRH_Field(
    "ahpraregistration",
    "text",
    array(  
    "depends"=>array(array('id' => "regsitrationlevel", 'value' => "holdslimited"||"holdsprovisional")),
            "label"=>"Please Provide Your AHPRA Registration Number",
            'required' => true,
            )
   ));

在这种情况下,如果选择了“holdslimited”或“holdsprovisional”,我希望出现一个文本框,目前它只有在我使用一个值时才有效。我需要使用什么格式?我怎样才能做到这一点?谢谢!

标签: phpwordpressforms

解决方案


我看不出一些简单的 jQuery 不能解决问题的任何理由。

(function($){
  $(document).ready(function(){

      function togglefield(){
          if($('select[name="foo"]').val() == 'holdsprovisional'){
              $('input[name="bar"]').css('display','');
          }else{
              $('input[name="bar"]').css('display','none');
          }
      }


      $('select[name="foo"]').change(function(){
          togglefield();
      });
      togglefield();
  });
})(jQuery);
   <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<select name="foo" >
  <option value="holdslimited" >holdslimited</option>
  <option value="holdsprovisional" >holdsprovisional</option>
</select><br>
<input name="bar" />

问题是让我做更多的事情,你显然可以把 JS 做得更好,这只是为了表明隐藏或显示一个字段很容易。


推荐阅读