【问题标题】:Enable/Disable other elements based on selection根据选择启用/禁用其他元素
【发布时间】:2011-03-11 22:39:33
【问题描述】:
<select name="feature1">
  <option value="1">Enable</option>
  <option value="0">Disable</option>
</select>

<input type="checkbox" name="feature2" />
<input type="checkbox" name="feature3" />

如何在选择“Feature1”中的“禁用”时禁用“Feature2”和“特色”输入?

谢谢

【问题讨论】:

    标签: jquery select conditional-statements


    【解决方案1】:

    这会在选择“启用”时自动启用项目,我认为也是您想要的。

    $('select[name=feature1]').change(function() {
       $('input[name=feature2],input[name=feature3]').attr('disabled', $(this).val() == '0');
    });
    

    【讨论】:

      【解决方案2】:

      为简单起见,我假设您的 ID 与您的元素名称相同

      jQuery('#feature1').change(function() {
         jQuery("#feature2, #feature3").attr("disabled", jQuery(this).val() == '0'); 
      });
      

      【讨论】:

        【解决方案3】:

        为你的元素添加一些 id,然后:

        $('#feature1').change(function() {
          if(this.value === "0") {
            $('#feature2').attr('disabled', 'disabled');
            $('#feature3').attr('disabled', 'disabled');
          }
        });
        

        【讨论】:

        • 该值永远不会是=== 0,因为它是一个字符串。另外,一些旧版本没有this.value(过去,你必须写this[this.selectedIndex].value),所以为了兼容性,我建议$(this).val()或检查selectedIndex == 1而不是比较值。此外,它们不是 ID,并且 feature3 不受影响。
        • 我输入了错误的字符串。 value 比 jQuery 更兼容。在您完成评论之前,feature3 就在那里。 :)
        【解决方案4】:
        <script type="text/javascript">
         abc(val){
            if (val.value=="0"){
              document.getElementByID("").disabled= true;
              document.getElementByID("").disabled= true;
            }else{
              document.getElementByID("").disabled= false;
              document.getElementByID("").disabled= false;
            }
          }
        
        </script>
        
        <select name="feature1" onchange="abc(this)">
          <option value="1">Enable</option>
          <option value="0">Disable</option>
        </select>
        
        <input type="checkbox" name="feature2" id="feature2" />
        <input type="checkbox" name="feature3" id="feature3" />
        

        【讨论】:

        • 对不起,我没有看到 jquery TAG,但我没有删除记录的答案。
        猜你喜欢
        • 1970-01-01
        • 2013-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-03
        • 2012-03-08
        • 2018-09-19
        • 2012-08-29
        相关资源
        最近更新 更多