嗨,如果没有选择第一个,我需要禁用第二个,如果选择启用
以下是代码:
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;
答案 0 :(得分:2)
这是一个版本,它将值的测试用作布尔值,并在页面加载时执行,以防它们从某个地方返回
$(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;
替代方案,如果需要,重置第二个选择
$(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;
答案 1 :(得分:2)
你可以这样做。
$('#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;
答案 2 :(得分:2)
在汽车选择中定义更改事件监听器并检查所选选项。
我还添加了$("#car-model").val($("#car-model option:first").val());
来重置第二个选择值
更新帖子以使用自调用函数在加载时执行
$("#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;
答案 3 :(得分:1)
只需将您的jquery函数更改为:
UPDATE table1 SET field2 = field1, field1 = SourceofField
而且,它会工作。使用你的代码和jquery函数的变化为你提供工作:http://plnkr.co/edit/aZJonNNhadrxlqg0LwzK?p=preview
答案 4 :(得分:0)
您可以将禁用的属性添加到第二个选择框,而不是通过jquery禁用选择框:)
$("#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;