我有多个选择选项。我想检查是否有任何选择具有特定的选定值然后禁用按钮。有可能吗?
这里的例子是:
<select class='test'>
<option value='open'>AA</option>
<option value='hide'>BB</option>
</select>
<select class='test'>
<option value='open'>AA</option>
<option value='hide'>BB</option>
</select>
<button id='bb'></button>
因此,如果选择了class 'test'
'hide'
的{{1}}选项,则会禁用id 'bb'
按钮。
即使我选择具有开放值的其他select option
,如果仍有一个select
具有隐藏值,则该按钮仍应禁用。
我想用jQuery做到这一点。
答案 0 :(得分:1)
据我了解,如果选择任何下拉列表为hide
,则该按钮应被禁用。因此,如果您选择BB
选项,则按钮会被禁用,如果您选择AA
选项,则按钮会启用。
以下是更新后的代码:
function checkAndDisableButton() {
$("#bb").prop('disabled', false);
$(".test").each(function() {
if ($(this).val() == 'hide') {
$("#bb").prop('disabled', true);
}
});
}
$("select").on('change', checkAndDisableButton);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class='test'>
<option value='open'>AA</option>
<option value='hide'>BB</option>
</select>
<select class='test'>
<option value='open'>AA</option>
<option value='hide'>BB</option>
</select>
<button id='bb'>Button</button>
&#13;
答案 1 :(得分:0)
你可以这样做,它会检查是否有任何select
具有值为hide的选定选项。如果是这样,它将禁用该按钮。
$(".test").change(function() {
var flag = true;
$('.test').each(function() {
if ($(this).val() == "hide") {
flag = false;
}
});
if (flag) {
$("#bb").prop("disabled", false)
} else {
$("#bb").prop("disabled", true)
}
})
工作演示
$(".test").change(function() {
var flag = true;
$('.test').each(function() {
if ($(this).val() == "hide") {
flag = false;
}
});
if (flag) {
$("#bb").prop("disabled", false)
} else {
$("#bb").prop("disabled", true)
}
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class='test'>
<option value='open'>AA</option>
<option value='hide'>BB</option>
</select>
<select class='test'>
<option value='open'>AA</option>
<option value='hide'>BB</option>
</select>
<button id='bb'>test me</button>
&#13;
答案 2 :(得分:0)
尝试这个简单的如果,奖励:没有循环:)
$(".test").change(function() {
if($('.test option:selected').is('[value="hide"]')) {
$("#bb").prop("disabled", true)
} else {
$("#bb").prop("disabled", false)
}
})
演示:
$(".test").change(function() {
if ($('.test option:selected').is('[value="hide"]')) {
$("#bb").prop("disabled", true)
} else {
$("#bb").prop("disabled", false)
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class='test'>
<option value='open'>AA</option>
<option value='hide'>BB</option>
</select>
<select class='test'>
<option value='open'>AA</option>
<option value='hide'>BB</option>
</select>
<button id='bb'>test me</button>