html代码
<div class="col-md-12">
<div class="form-group"">
<div id="list">
{% for db in owdbList %}
<div class="checkbox checkbox-inline checkbox-info">
<input type="checkbox" class="styled" id="{{ db.serverid }}" value="{{ db.serverid }}">
<label for="{{ db.serverid }}">
{{ db.servername }}
</label>
</div>
{% if forloop.counter|divisibleby:10 %}
<br>
{% endif %}
{% endfor %}
</div>
<br><br>
<input type="checkbox" id="all">
<input type="button" value="全选" class="btn" id="selectAll">
<input type="button" value="全不选" class="btn" id="unSelect">
<input type="button" value="反选" class="btn" id="reverse">
<input type="button" value="获得选中的所有值" class="btn" id="getValue">
</div>
</div>
js代码
//选服时的全选反选操作
$(function () {
//全选或全不选
$("#all").click(function(){
if(this.checked){
$("#list :checkbox").prop("checked", true);
}else{
$("#list :checkbox").prop("checked", false);
}
});
//全选
$("#selectAll").click(function () {
$("#list :checkbox,#all").prop("checked", true);
});
//全不选
$("#unSelect").click(function () {
$("#list :checkbox,#all").prop("checked", false);
});
//反选
$("#reverse").click(function () {
$("#list :checkbox").each(function () {
$(this).prop("checked", !$(this).prop("checked"));
});
allchk();
});
//设置全选复选框
$("#list :checkbox").click(function(){
allchk();
});
//获取选中选项的值
$("#getValue").click(function(){
var valArr = new Array;
$('input[name="dbcheckbox"]:checked').each(function(i){
valArr[i] = $(this).val();
});
var vals = valArr.join(',');
alert(vals);
});
});
function allchk(){
var chknum = $("#list :checkbox").size();//选项总个数
var chk = 0;
$("#list :checkbox").each(function () {
if($(this).prop("checked")==true){
chk++;
}
});
if(chknum==chk){//全选
$("#all").prop("checked",true);
}else{//不全选
$("#all").prop("checked",false);
}
}
除了“#all”,“全选”可以用,后面的,“全不选”、“反选”、“获取值”功能都不能正常使用,问题出现在哪里的
我复制了你的代码,可以啊。只是
$('input[name="dbcheckbox"]:checked')
这一句有问题而已