如何检查实时选择第一个下拉列表

时间:2016-02-18 12:58:51

标签: javascript jquery

嗨,如果没有选择第一个,我需要禁用第二个,如果选择启用

以下是代码:



function checker() {
  if ($('#car option:selected').val() === '') {
    $('#car-model').prop('disabled', true);
  } else {
    $('#car-model').prop('disabled', false);
  }
}
checker();

select{
  width: 100px;  
  display: block;
  margin: 10px;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select id='car'>
  <option></option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>
<select id='car-model'>
  <option></option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>
&#13;
&#13;
&#13;

5 个答案:

答案 0 :(得分:2)

这是一个版本,它将值的测试用作布尔值,并在页面加载时执行,以防它们从某个地方返回

&#13;
&#13;
$(function() {
  $("#car").on("change", function() { 
    var dis = $(this).val() === '';
    $('#car-model').prop('disabled', dis);
  }).change(); // execute it onload too
});
&#13;
select {
  width: 100px;
  display: block;
  margin: 10px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id='car'>
  <option></option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>

<select id='car-model'>
  <option></option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>
&#13;
&#13;
&#13;

替代方案,如果需要,重置第二个选择

&#13;
&#13;
$(function() {
  $("#car").on("change", function() { 
    var dis = this.value === '', $model = $('#car-model');
    $model.prop('disabled', dis);
    if (dis) $model.val(""); // reset second select
  }).change(); // execute it onload too
});
&#13;
select {
  width: 100px;
  display: block;
  margin: 10px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id='car'>
  <option value=""></option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>

<select id='car-model'>
  <option value=""></option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

你可以这样做。

&#13;
&#13;
$('#car').change(function() {
    $('#car-model').prop('disabled', this.value == '');
}).change(); //execute on page load
&#13;
select{
  width: 100px;  
  display: block;
  margin: 10px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id='car'>
  <option></option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>

<select id='car-model'>
  <option></option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>
&#13;
&#13;
&#13;

答案 2 :(得分:2)

在汽车选择中定义更改事件监听器并检查所选选项。

我还添加了$("#car-model").val($("#car-model option:first").val());来重置第二个选择值

更新帖子以使用自调用函数在加载时执行

&#13;
&#13;
$("#car").change(function(){

checker();

});

var checker =  (function checker1() {

  if ($('#car option:selected').text() == '') {
    $('#car-model').prop('disabled', true);
    $("#car-model").val($("#car-model option:first").val());
  } else {
    $('#car-model').prop('disabled', false);
  }
  
  return checker1;

})();
&#13;
select{
  width: 100px;  
  display: block;
  margin: 10px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<select id='car'>
  <option></option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>

<select id='car-model'>
  <option></option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>
&#13;
&#13;
&#13;

答案 3 :(得分:1)

只需将您的jquery函数更改为:

UPDATE table1 SET field2 = field1, field1 = SourceofField

而且,它会工作。使用你的代码和jquery函数的变化为你提供工作:http://plnkr.co/edit/aZJonNNhadrxlqg0LwzK?p=preview

答案 4 :(得分:0)

您可以将禁用的属性添加到第二个选择框,而不是通过jquery禁用选择框:)

&#13;
&#13;
$("#car").change(function(){

checker();

});

function checker() {

  if ($('#car option:selected').text() == '') {
    $('#car-model').prop('disabled', true);
    $("#car-model").val($("#car-model option:first").val());
  } else {
    $('#car-model').prop('disabled', false);
  }

}
&#13;
select{
  width: 100px;  
  display: block;
  margin: 10px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<select id='car'>
  <option></option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>

<select id='car-model' disabled=true>
  <option></option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>
&#13;
&#13;
&#13;