下面代码中怎么写jquery才能让,点击 All的时候,选择相关行中的checkbox,
$("#br1all").click(function(){
$("input[name='br_code[]']").each(function(){$(this).attr("checked",true);})
})用上面的语句的话,点击某个ALL的话,会全部选中(上下两个tr的checkbox都会选中,但我只要在哪个tr中选择全部的话,只选中当前tr中的全部),怎样才能区分不同的tr,然后进行全选。还有一个问题是上面的代码怎么修改才能在点击 All前面的checkbox,全选之后,再次点击checkbox会全部取消选择。<table id="tbBrandCode">
<tr class="brand_code1">
<td valign="top" width="50"><input type="checkbox" class="checkAll1" id="br1all"><label for="br1all">ALL</label></td>
<td>
<ul>
<!--{@ brands['F'] }-->
<li>
<input type="checkbox" id="br_{.key_}" name="br_code[]" value="{.key_}">
<label for="br_{.key_}">{.key_}</label>
</li>
<!--{/}-->
</ul>
</td>
</tr>
<tr class="brand_code2">
<td valign="top"><input type="checkbox" class="checkAll2" id="br2all"><label for="br2all">ALL</label></td>
<td>
<ul>
<!--{@ brands['M'] }-->
<li>
<input type="checkbox" id="br_{.key_}" name="br_code[]" value="{.key_}">
<label for="br_{.key_}">{.key_}</label>
</li>
<!--{/}-->
</ul>
</td>
</tr>
</table>
$("#br1all").click(function(){
$("input[name='br_code[]']").each(function(){$(this).attr("checked",true);})
})用上面的语句的话,点击某个ALL的话,会全部选中(上下两个tr的checkbox都会选中,但我只要在哪个tr中选择全部的话,只选中当前tr中的全部),怎样才能区分不同的tr,然后进行全选。还有一个问题是上面的代码怎么修改才能在点击 All前面的checkbox,全选之后,再次点击checkbox会全部取消选择。<table id="tbBrandCode">
<tr class="brand_code1">
<td valign="top" width="50"><input type="checkbox" class="checkAll1" id="br1all"><label for="br1all">ALL</label></td>
<td>
<ul>
<!--{@ brands['F'] }-->
<li>
<input type="checkbox" id="br_{.key_}" name="br_code[]" value="{.key_}">
<label for="br_{.key_}">{.key_}</label>
</li>
<!--{/}-->
</ul>
</td>
</tr>
<tr class="brand_code2">
<td valign="top"><input type="checkbox" class="checkAll2" id="br2all"><label for="br2all">ALL</label></td>
<td>
<ul>
<!--{@ brands['M'] }-->
<li>
<input type="checkbox" id="br_{.key_}" name="br_code[]" value="{.key_}">
<label for="br_{.key_}">{.key_}</label>
</li>
<!--{/}-->
</ul>
</td>
</tr>
</table>
$(this).find("input[name='br_code[]']").attr("checked",$(this).attr("checked"));
})
$("#br1all").click(function(){
$(this).closest("tr").find("input[name='br_code[]']").attr("checked",$(this).attr("checked"));
})
$(this).closest("tr") //获得当前tr,再取tr下面的checkbox
$(".brand_code3").find("input[name='br_code[]']").attr("checked",$(this).attr("checked"));})这段代码放在firebug里是可以用的,但是放到js文件里就不行了,代码如下
js代码如下。
var glists=null;
(function($){/***************************************************************
*
**************************************************************/$("#br1all").click(function(){
$(".brand_code1").find("input[name='br_code[]']").attr("checked",$(this).attr("checked"));
})$("#br2all").click(function(){
$(".brand_code2").find("input[name='br_code[]']").attr("checked",$(this).attr("checked"));
})$("#br3all").click(function(){
$(".brand_code3").find("input[name='br_code[]']").attr("checked",$(this).attr("checked"));
})
SioListManager.prototype.empty = function()
{
return '没有信息.';
};
SioListManager.prototype.draw = function(json)
{var tag = [];
tag.push('<td class="td1"><input type="checkbox" value="'+json.no+'"/></td>');
tag.push('<td class="td2">'+json.seq+'</a></td>');
tag.push('<td class="td3"><a class="detail">'+json.code+'</a></td>');
tag.push('<td class="td4">'+json.name+'</td>');
if(json.on_sale == "T")
{
tag.push('<td class="td5 On">on</td>');
}
else
{
tag.push('<td class="td5 off">Off</td>');
}
tag.push('<td class="td6">'+json.insert_time+'</td>');
tag.push('<td class="td7">'+json.sync_time+'</td>');return tag.join('');
};SioListManager.prototype.draw_event = function()
{
$(this.root+'>tbody>tr').map(function(){
// console.log($(this).children('td .td7').text())
if($(this).children('td .td7').text() != '')
{
$(this).addClass('done');
}});
//$(this.root+'>tbody>tr:odd').addClass("odd");
};$(document).ready(function(){
glists = new SioListManager('products/json');
glists.set_del_url('');
glists.set_root('#listTable');
glists.set_totalbox('span#listTotal>b');
glists.set_searchbox('#searchForm');
glists.set_listsize(15);
glists.set_pagesize(10);
glists.set_pagebar('#pagebar');
glists.get(1);
});})
/***************************************************************/
})(jQuery);
把click事件放到$(document).ready(function(){里.