我有一系列复选框,可以从智能模板构建。当选择具有WTOPS值的特定复选框时,我希望此操作选择div中的所有其他复选框。这是我下面的代码无效
这是我的jquery:
$("input[name=levelCheck]").change(function () {
if ($("input[name=levelCheck]:checked").val() == 'WTOPS') {
$("input[type='checkbox']").attr('checked', true);
}
});
这是HTML:
<div id="Women">
<label> <input type="checkbox" name="level_desc[]" id="levelCheck" value="WOPEN"> Open </label>
<label> <input type="checkbox" name="level_desc[]" id="levelCheck" value="WPREPOPT"> Prep Opt </label>
<label> <input type="checkbox" name="level_desc[]" id="levelCheck" value="WTOPS"> TOPS </label>
</div>
答案 0 :(得分:1)
下面的脚本应该为您拥有的标记提供技巧,
$(function() {
$("input[name=level_desc\\[\\]]").change(function() {
if ($("input[name=level_desc\\[\\]]:checked").val() == 'WTOPS') {
$("input[type='checkbox']").attr('checked', true);
}
});
});
迈克尔指出,使用引号看起来更好,
$(function() {
$("input[name='level_desc[]']").change(function() {
if ($("input[name='level_desc[]']:checked").val() == 'WTOPS') {
$("input[type='checkbox']").attr('checked', true);
}
});
});
答案 1 :(得分:1)
尝试定位特定的复选框 - 无需全部查看。
$("input[value=WTOPS]:not(:checked)").change(function () {
$("input[type='checkbox']").attr('checked', 'checked');
});
这特别针对WTOPS复选框,当它取消选中时以及何时更改。然后它会触发所有要检查的复选框。当WTOPS框未经检查时,问题没有谈到改变所有未选中的选项,但这是一种方法:
$("input[value=WTOPS]").change(function () {
$("input[type='checkbox']").attr('checked', $("input[value=WTOPS]").val());
});
答案 2 :(得分:0)
您的$("input[name=levelCheck]:checked")
应为$("input#levelCheck:checked")
答案 3 :(得分:0)
试试这个:
$("input#levelCheck").change(function () {
if ($("input#levelCheck:checked").val() == 'WTOPS') {
$("input[type='checkbox']").attr('checked', true);
}
});
答案 4 :(得分:0)
如果使用属性值选择器,则应将值包装在引号 -
中$("input[name='levelCheck']:checked");
请注意包含值name='levelCheck'
答案 5 :(得分:0)
您多次使用ID属性,并且需要将名称换成单引号。
HTML
<div id="Women">
<label> <input type="checkbox" name="level_desc[]" id="levelCheck1" value="WOPEN"> Open </label>
<label> <input type="checkbox" name="level_desc[]" id="levelCheck2" value="WPREPOPT"> Prep Opt </label>
<label> <input type="checkbox" name="level_desc[]" id="levelCheck3" value="WTOPS"> TOPS </label>
</div>
JS
$("input[name='level_desc[]']").change(function () {
if ($("input[name='level_desc[]']:checked").val() == 'WTOPS') {
$("input[name='level_desc[]']").attr('checked', true);
}
});
答案 6 :(得分:0)
试试这个
$("input[type='checkbox']").change(function () {
console.log($(this));
if ($(this).val() == 'WTOPS') {
$("input[type='checkbox']").attr('checked', true);
}
});