jquery on first选项在第一个选择列表中选择,启用第二个选择列表

时间:2013-06-23 08:40:19

标签: jquery select option prop

我正在尝试解决您有两个选择列表的情况,以及第一个列表中的第一个和第二个选项,第二个列表已启用。

好的,我有#decide#day个选择列表,默认情况下会禁用#day。如果用户从yes:列表中选择选项maybe:#decide,则#day列表将启用

$('#day').prop('disabled', false);

else或如果选择了任何其他选项,它会将该禁用的属性返回给#day:

$('#day').prop('disabled', true);

目前我只有html:

 <select id="decide" name="decide" class="span4">
    <option value="0" selected="selected">--</option>
    <option value="yes">yes:</option>
    <option value="maybe">maybe:</option>
    <option value="no">no</option>
    <option value="nevermind">nevermind</option> 
</select>
<select id="day" name="day" class="span4" disabled>
    <option value="0" selected="selected">--</option>
    <option value="1">monday</option>
    <option value="2">tuesday</option>
    <option value="3">saturday</option>
    <option value="4">sunday</option> 
</select>

和想法用jquery代码的部分来解决它

这里是当前情况的jsfiddle:http://jsfiddle.net/3hwzK/

5 个答案:

答案 0 :(得分:2)

也许是这样的:

$("#decide").change(function () {
    $("#day").prop("disabled", !(["yes", "maybe"].indexOf(this.value) !== -1));
});

演示:http://jsfiddle.net/hungerpain/3hwzK/2/

答案 1 :(得分:1)

我添加了这个JS代码:

$("#decide").change(function () {
  $('#day').prop('disabled', false);  });

JSFiddle

中工作得很好

答案 2 :(得分:1)

这应该有用......

$(document).on('change', "#decide", function(){
if(this.value == "yes" || this.value == "maybe"){
    $("#day").removeAttr("disabled");
}else{
    $("#day").attr("disabled", "true");
}
});

答案 3 :(得分:1)

你可以试试这个,

          $("#decide").change(function (){
              if(this.value == "yes" || this.value == "maybe"){
                   $("#day").removeAttr("disabled");
              }else{
           $("#day").attr("disabled", "true");
           }
           });

如果您选择的值为“是”或“可能”,则“#day”选择框将被启用,否则将被禁用。

答案 4 :(得分:1)

你也可以使用这种方法.. http://jsfiddle.net/3hwzK/3/

$("#decide").change(function () {
    var valid_answers = ['yes', 'maybe'];
    var is_disabled = ($.inArray($(this).val(), valid_answers) > -1) ? false : true;
    $('#day').prop('disabled', is_disabled); 
});