我有一个从网站获得的全选 jquery 脚本(我忘记了链接).. 确实,该脚本没有任何问题。有用。但是,我打算将其重写为一个函数。只是,我被困住了。
这是 ori 脚本
$("#selectall").click(function () {
$('.case').attr('checked', this.checked);
});
$(".case").click(function(){
if($(".case").length == $(".case:checked").length) {
$("#selectall").attr("checked", "checked");
} else {
$("#selectall").removeAttr("checked");
}
});
这是我编写的函数:
function klikAll(id){
var header = $('#' + id);
$('.foo_' + hid).attr('checked', header.prop('checked') );
}
function klikSub(hid){
var heder = $('#' + hid);
var subheder = $('.foo_' + hid);
var subhederc = $('.foo_' + hid + ':checked');
if(subheder.length == subhederc.length) {
heder.attr("checked", "checked");
} else {
heder.removeAttr("checked");
}
}
问题是,该功能完全不起作用..在jsfiddle中,我重写了它http://jsfiddle.net/iamthom/aCJSY/6/ 。任何人都可以给我一个线索,我应该修复哪一部分?或者我的功能出了什么问题??
最佳答案
请检查一下
<强> DEMO
代码
<script type="text/javascript">
function klikAll(id) {
var header = $('#' + id);
$('.foo_' + id).attr('checked', header.prop('checked'));
}
function klikSub(hid) {
var heder = $('#' + hid);
var subheder = $('.foo_' + hid);
var subhederc = $('.foo_' + hid + ':checked');
if (subheder.length == subhederc.length) {
heder.attr("checked", "checked");
} else {
heder.removeAttr("checked");
}
}
</script>
将您的函数放在 <script>
内 block 。
关于jquery - 制作一个全选jquery函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11200874/