我有以下HTML:
<label><input type="checkbox" value="12" name="Cevent[]" /> Yoga</label>
<label><input type="checkbox" value="12" name="Cevent[]" /> Yoga 1</label>
<label><input type="checkbox" value="12" name="Cevent[]" /> Yoga 2</label>
<label><input type="checkbox" value="12" name="Cevent[]" /> Yoga 3</label>
<label><input type="checkbox" id="selectAllEventList" name="selectAllE"> Select All</label>
并关注Jquery:
$(document).ready(function (){
$('#selectAllEventList').click (function () {
$('input[name=Cevent[]]').each(function(){
$(this).prop('checked', status);
});
});
});
但我收到语法错误:
Error: Syntax error, unrecognized expression: [name=Cevent[]]
我认为我在input[name=Cevent[]]
写错了Selector是什么问题我怎么能正确地写它,因为我必须把它作为数组发送所以我必须把它写成Cevent []。
答案 0 :(得分:2)
引用属性值:
$('input[name="Cevent[]"]')
<强>更新强>
我认为您的代码用于在更改Cevent[]
复选框时选中/取消选中所有selectAllE
复选框。如果是这种情况,您可以显着缩短代码,因为大多数jQuery方法都适用于匹配集中的每个元素(不需要使用.each()
):
$(document).ready(function () {
$('#selectAllEventList').click(function () {
$('input[name="Cevent[]"]').prop('checked', this.checked);
});
});
答案 1 :(得分:0)
您可以\
使用escape
[
,
<强> Live Demo 强>
$(document).ready(function (){
$('#selectAllEventList').click (function () {
$('input[name*=Cevent\\[]').each(function(){
if( $('#selectAllEventList').is(':checked'))
$(this).prop('checked',true);
else
$(this).prop('checked',false);
});
});
});
答案 2 :(得分:0)
请试试这个
JS
$('#selectAllEventList').click (function () {
$('.chkbox').each(function(){
$(this).prop('checked', true);
});
});
HTML
<label><input type="checkbox" class="chkbox" value="12" name="Cevent[]" /> Yoga</label>
<label><input type="checkbox" class="chkbox" value="12" name="Cevent[]" /> Yoga 1</label>
<label><input type="checkbox" class="chkbox" value="12" name="Cevent[]" /> Yoga 2</label>
<label><input type="checkbox" class="chkbox" value="12" name="Cevent[]" /> Yoga 3</label>
<label><input type="checkbox" id="selectAllEventList" name="selectAllE"> Select All</label>