我有一个html脚本,其中有多个选择,当我选中复选框字段时,我想“禁用”。
示例:
<p><input type="checkbox" id="chk_select" name="check" value="ok" "/> deselect</p>
<p>
<select multiple="multiple" name="candidato[]" id="soci" required>
<option value="">-</option>
<option value="Name 1">Name 1</option>
<option value="Name 2">Name 2</option>
</select>
</p>
是否可以通过jquery禁用多项选择?
谢谢! 朱塞佩
答案 0 :(得分:1)
尝试这个。
function checkstate() {
document.getElementById('soci').disabled = document.getElementById('chk_select').checked;
}
<p><input type="checkbox" id="chk_select" name="check" value="ok" onclick="checkstate()"> deselect</p>
<p>
<select multiple="multiple" name="candidato[]" id="soci" required>
<option value="">-</option>
<option value="Name 1">Name 1</option>
<option value="Name 2">Name 2</option>
</select>
</p>
答案 1 :(得分:0)
您可以在此处找到如何检查该复选框是否被选中的方法: Check if checkbox is checked with jQuery
在这里您可以找到禁用禁用的方法: jQuery - disable selected options
如果选中此复选框,请尝试在所选内容上切换课程。
此外,您还可以在此处找到工作示例: disable select if checkbox is checked
答案 2 :(得分:0)
这可以解决问题
$('input[type="checkbox"]').change(function(){
if($(this).is(':checked')){
$('select').attr('disabled','disabled')
}else{
$('select').removeAttr('disabled','disabled')
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p><input type="checkbox" id="chk_select" name="check" value="ok" "/> deselect</p>
<p>
<select multiple="multiple" name="candidato[]" id="soci" required >
<option value="">-</option>
<option value="Name 1">Name 1</option>
<option value="Name 2">Name 2</option>
</select>
</p>
答案 3 :(得分:0)
以下是基于jQuery的解决方案,但可以在现代浏览器中使用香草JS轻松完成:
$('#chk_select').change(function(){
$('#soci').attr('disabled',this.checked);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label><input type="checkbox" id="chk_select" name="check" value="ok"/> deselect</label>
<p> <select multiple="multiple" name="candidato[]" id="soci" required>
<option value="">-</option>
<option value="Name 1">Name 1</option>
<option value="Name 2">Name 2</option>
</select> </p>
适用于除Internet Explorer之外的所有浏览器的Vanilla JS解决方案:
function qs(s){return document.querySelector(s);}
qs('#chk_select').addEventListener('change',function(){
qs('#soci').disabled=this.checked;});
<label><input type="checkbox" id="chk_select" name="check" value="ok"/> deselect</label>
<p> <select multiple="multiple" name="candidato[]" id="soci" required>
<option value="">-</option>
<option value="Name 1">Name 1</option>
<option value="Name 2">Name 2</option>
</select> </p>
答案 4 :(得分:0)
希望这对您有帮助...
视图
<p>
<input type="checkbox" id="chk_select" name="check" value="ok" onclick="myFunction()"/>
deselect
</p>
脚本
<script>
function myFunction() {
var checkBox = document.getElementById("myCheck");
if (checkBox.checked == true){
document.getElementById('soci').disabled = true;
} else {
document.getElementById('soci').disabled = false;
}
}
</script>