2012-08-10 33 views
0

点击我有以下HTML:选择所有复选框在使用jQuery

<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[]]什么问题我如何正确写入它,因为我必须发送它作为一个数组,所以我必须把它写成Cevent []。

回答

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); 
      }); 

    }); 
});​ 
+0

无法正常工作:-(请问您可以提供jsfiddle上的工作示例吗? – Seeker 2012-08-10 09:59:41

+1

这是在jsfiddle现在,请看看 – Adil 2012-08-10 10:00:15

+0

感谢现在合作的工作非常感谢 – Seeker 2012-08-10 10:28:11

2

引用属性值:

$('input[name="Cevent[]"]') 

更新

我假设您的代码是用来在selectAllE复选框更改时检查/取消选中所有Cevent[]复选框。如果是这样的话,你可以显著缩短你的代码,因为大多数jQuery方法适用于匹配的集合中的每个元素(有没有必要使用.each()):

$(document).ready(function() { 
    $('#selectAllEventList').click(function() { 
     $('input[name="Cevent[]"]').prop('checked', this.checked); 
    }); 
});​ 
+0

不工作:-(你能提供jsfiddle上的工作示例吗? – Seeker 2012-08-10 10:00:03

+1

@PhpSeeker - http://jsfiddle.net/fA3W2/1/- 我添加了“状态”声明,你没有在你的问题中显示......这可能是问题所在? – 2012-08-10 10:04:27

+1

@PhpSeeker - 而且,假设我以前的小提琴演示了正确的行为,这里有一个很多较短版本的代码:http://jsfiddle.net/fA3W2/2/ – 2012-08-10 10:06:02

0

请试试这个

see Demo

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>