我有2个选项:#home-none
和#home-select
,当选择#home-none时,我希望禁用所有类.home
的输入。
HTML:
选项
<select class="form-control">
<option id="home-none">-</option>
<option id="home-select">Team</option>
</select>
输入
<div class="form-group">
<input class="form-control home" name="h-p1-fn" placeholder="First name" type="text"/>
</div>
<div class="form-group">
<input class="form-control home" name="h-p1-ln" placeholder="Last name" type="text"/>
</div>
JS:
<script type="text/javascript">
$(document).ready(function(){
$("#home-select").click(function(){
$(".home").prop('disabled',true);
});
$("#home-none").click(function(){
$(".home").prop('disabled',true);
});
});
</script>
控制台不显示错误,但不起作用。
答案 0 :(得分:3)
你正在接触错误的事件。请改用change
的{{1}}事件。在那里,您可以阅读select
元素的value
属性,将相关的option
元素设置为已禁用。试试这个:
input
&#13;
$(document).ready(function(){
$("select.form-control").change(function(){
$(".home").prop('disabled', $(this).val() == 'home-none');
});
});
&#13;
答案 1 :(得分:2)
这会更好用
排成一行:
<select class="form-control">
<option value="home-none">-</option>
<option value="home-select">Team</option>
</select>
$(function() {
$("select.form-control").on("change",function() {
$(".home").prop('disabled',this.value=="home-none");
}).change(); // execute on load
});