我有两个通过 xQuery 生成的无序列表(一个按频率排序,另一个按字母顺序排序)。默认显示频率排序列表,而通过 Javascript 隐藏字母列表。然后用户可以选择单击链接以显示字母列表,然后隐藏频率列表。用户可以在列表之间来回切换。两个列表都显示在颜色框弹出窗口中。
我需要为每个列表添加复选框,并包含一个在每个列表的“全选”/“全部清除”之间切换的按钮。我的问题是,当我查看频率排序列表时,单击“全选”,然后单击链接以查看字母列表,所有值仍被选中,并且切换按钮文本变回“全选”。当我现在单击“全选”按钮时,文本会切换回“全部清除”,但不会取消选中复选框。
当用户在两个列表之间切换时,有没有办法让复选框“重置”?这样当他们单击字母列表时,所有复选框都未选中,并且按钮显示“全选”?
这是代码:
$(document).ready(function(){
$('.select-all:button').toggle(function(){
$('input:checkbox').attr('checked','checked');
$(this).val('Clear All');
event.preventDefault();
},function(){
$('input:checkbox').removeAttr('checked');
$(this).val('Select All');
event.preventDefault();
})
})
<li>
<input type="checkbox">{$display-value}</input>
</li>
<input type="button" value="Select all" class="select-all"></input>,
<input type="submit" value="Submit"></input>