下面代码中怎么写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>
解决方案 »
- extjs4 如何为treepanel动态添加节点
- Extjs 获取文件路径问题
- jfreechar生成图片保存在服务器硬盘上的问题(在线等)
- js 弹出窗口
- ms ie bug?
- 联动菜单写法大收集,我看看有多少种!!
- 如何定义正则表达式得到如下结果,保留计算符号逻辑符号
- 急问,A窗口和B窗口都可以打开C窗口,如何使C窗口关闭的时候,返回到打开它的窗口??
- showModalDialog传参数的简单问题
- 请问:做网页形式的应用程序,是DHTML好,还是ASP好?或者IIS
- 点击增加多个div后,鼠标点击哪个div层上面,就删除哪个,不点击不删除,显示提示
- Extjs + FusionChart,FusionChart不能显示
点击大的全选时,从最外层的DIV(大容器)中找到所有的checkbox并选中
点击小的全选时,从相应的TR(小容器)中找到该容器下的所有checkbox并选中
JQ 可以用find方法的.
而选中第二个tr中的全部的话,就选择全部的当前tr中的checkbox现在是选择第一个tr中选择全部的话,就会选择所有的checkbox,包括其他tr中的
$(this).find("input[name='br_code[]']").attr("checked",$(this).attr("checked"));
})
我的意思你没有明白
如果你只是要选中其中一个tr下面的所有的checkbox
那么请给你的tr设置一个ID
然后使用JQ的find方法 在ID为你设置的tr下找到所有的checkbox 选中
var obj = $("tr[id='tr1']").find("input[type='checkbox']");
//这个 obj.length = 6<table>
<tr id="tr1">
<td>
<input id="Checkbox1" type="checkbox" />
<input id="Checkbox2" type="checkbox" />
<input id="Checkbox3" type="checkbox" /></td>
<td>
<input id="Checkbox4" type="checkbox" />
<input id="Checkbox5" type="checkbox" />
<input id="Checkbox6" type="checkbox" /></td>
</tr>
<tr id="tr2">
<td>
<input id="Checkbox7" type="checkbox" />
<input id="Checkbox8" type="checkbox" />
<input id="Checkbox9" type="checkbox" /></td>
<td>
<input id="Checkbox10" type="checkbox" />
<input id="Checkbox11" type="checkbox" />
<input id="Checkbox12" type="checkbox" /></td>
</tr>
</table>
$(".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);
$(".brand_code3").find("input[name='br_code[]']")你这种写法找的是“class”为“brand_code3”的标签下所有 “name”为 “br_code[]” 的input
你这里应该只需要找“checkbox”换一种写法试试
尽量不要把问题复杂化