jquery获取动态生成的checkbox结点?

我从后台获得JSON类型的数据,放到动态生成的checkbox中,然后显示在页面指定的div中,部分代码如下:$.getJSON("../kyxm/getKyxmName... 我从后台获得JSON类型的数据,放到动态生成的checkbox中,然后显示在页面指定的div中,部分代码如下:
$.getJSON("../kyxm/getKyxmName_Kyxm.action",null,function(response){
var listHtml='';
//循环取json中的数据,并呈现在列表中
$.each(response,function(i){
listHtml += " <input type='checkbox'";
listHtml += " name=cr0"+i;
listHtml += " id=cr0"+i;
listHtml += " value="+response[i];
listHtml += " style=border:none;/>";
listHtml += "<label for=cr0"+i;
listHtml += ">"+response[i]+"</label><br/>";
});
$("#selectSub").html(listHtml).css("text-align","left");
}
);

<div id="selectSub"> </div>
但是好像在页面上获取不到生成的checkbox结点
比如:$("#selectSub :checkbox").click(function() {
alert(123);
}
);

当我选中动态生成的复选框时,没任何反应。怎样才能获得动态生成的checkbox的点击事件呢?期待解答哦~~~
放到后面试过了,也没起作用~~谢谢你的回答
我改成这样了 实现了我想要的功能,但是我还是不明白为什么jquery捕获不到json打印出来的东西的任何事件呢,是不是页面上没有就捕获不到哦。
这是我改了之后的:
$.getJSON("../kyxm/getKyxmName_Kyxm.action",null,function(response){
var listHtml='';
//循环取json中的数据,并呈现在列表中
$.each(response,function(i){
listHtml += " <input onclick='test()' type='checkbox'";
listHtml += " name=checkboxXmmc";
......
});
$("#selectSub").html(listHtml).css("text-align","left"); } );
再写了个这样的函数:
function test() {
var number = addEquipmentForm.checkboxXmmc.length;
var xmmcArray = document.addEquipmentForm["checkboxXmmc"];
for(i=0;i<number;i++) {
var test = xmmcArray[i].value;
if (eval("document.addEquipmentForm.checkboxXmmc[" + i + "].checked") == true) {
$("#equipmentXmmc").val(test);
$("#selectItem").hide();
}
}
}
展开
 我来答
imatree
2010-04-09 · TA获得超过225个赞
知道小有建树答主
回答量:194
采纳率:0%
帮助的人:143万
展开全部
我猜是你绑定事件的时间不对。
$.getJSON()是异步调用的方法,调用其返回的数据动态生成checkbox,应该确保页面绘制完这个checkbox之后,再给这个checkbox绑定事件。即在回调函数给它绑定事件。
在$("#selectSub").html(listHtml).css("text-align","left");
的下一行写这绑定语句:
$("#selectSub :checkbox").click(
function()
{
alert(123);
}
);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式