【发布时间】:2015-01-22 14:51:36
【问题描述】:
链接函数没有解决我希望弄清楚的两件事:
- 如果您单独选中复选框,按钮不会将其显示值更改为“取消全选”。
- 如果您选中一个复选框,然后取消选中同一个复选框,“全选”按钮将设置为首先取消选中 - 即使没有选中任何内容。
http://jsfiddle.net/point71echo/pxxnhb35/3/
HTML:
<div id="first">
<input type="button" id="checkAll" value="Select All " data-type="uncheck">
<div class="button">
<input type="checkbox" name="option1" id="Item 1" class="first">
<label for="Item 1" class="label1">Item 1</label>
<input type="checkbox" name="option1" id="Item 2" class="first">
<label for="Item 2" class="label1">Item 2</label><br><br>
<input type="checkbox" name="option1" id="Item 3" class="first">
<label for="Item 3" class="label1">Item 3</label>
<input type="checkbox" name="option1" id="Item 4" class="first">
<label for="Item 4" class="label1">Item 4</label><br><br>
</div>
</div>
jQuery:
$(document).ready(function(){
// below code is used to remove all check property if,
// user select/unselect options with class first options.
$(".first").click(function(){
$("#checkAll").attr("data-type","uncheck");
$(this).val('Select All');
});
$("#checkAll").attr("data-type","check");
$("#checkAll").click(function(){
if($("#checkAll").attr("data-type")==="check")
{
$(".first").prop("checked",true);
$("#checkAll").attr("data-type","uncheck");
$(this).val('Deselect All')
}
else
{
$(".first").prop("checked",false);
$("#checkAll").attr("data-type","check");
$(this).val('Select All');
}
})
});
【问题讨论】:
标签: javascript jquery html button checkbox