jquery 通过append追加一个select,然后要给select change事件,在火狐下面没问题,但是在ie下面却不能运
代码:$("#item_list").append("<tablewidth=\"100%\"border=\"0\"cellspacing=\"0\"cellpaddi...
代码:
$("#item_list").append("<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><select name=\"pur_classid[]\" id=\"type"+newid+"\" class=\"pur_classid\">"+$("#optionst").html()+"</select></td><td><div id=\"stype"+newid+"\"><select name=\"select\" id=\"select\"><option>选择产品</option></select></div></td><td>"+$("#copy_info").html()+"</td><td><a href=\"javascript:void(0)\" class=\"del_item\"><img src=\"public/images/admin/close.png\" /></a></td>");
$(".pur_classid").live("change",function(){
//alert("123");
var index = $(this).attr("id");
key = index;
myajax("admin/purchase.htm?act=product&typ=index&classid="+this.value,"sfun(msg,key)");
});
function sfun(msg,key){
if(msg){
$("#s"+key+" select").remove();
$("#s"+key).append(msg);
}
} 展开
$("#item_list").append("<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><select name=\"pur_classid[]\" id=\"type"+newid+"\" class=\"pur_classid\">"+$("#optionst").html()+"</select></td><td><div id=\"stype"+newid+"\"><select name=\"select\" id=\"select\"><option>选择产品</option></select></div></td><td>"+$("#copy_info").html()+"</td><td><a href=\"javascript:void(0)\" class=\"del_item\"><img src=\"public/images/admin/close.png\" /></a></td>");
$(".pur_classid").live("change",function(){
//alert("123");
var index = $(this).attr("id");
key = index;
myajax("admin/purchase.htm?act=product&typ=index&classid="+this.value,"sfun(msg,key)");
});
function sfun(msg,key){
if(msg){
$("#s"+key+" select").remove();
$("#s"+key).append(msg);
}
} 展开
5个回答
展开全部
把这段代码:
$(".pur_classid").live("change",function(){
//alert("123");
var index = $(this).attr("id");
key = index;
myajax("admin/purchase.htm?act=product&typ=index&classid="+this.value,"sfun(msg,key)");
});
写进一个function。比如
function ChangeList(){
$(".pur_classid").live("change",function(){
//alert("123");
var index = $(this).attr("id");
key = index;
myajax("admin/purchase.htm?act=product&typ=index&classid="+this.value,"sfun(msg,key)");
});
}
然后
function sfun(msg,key){
if(msg){
$("#s"+key+" select").remove();
$("#s"+key).append(msg);
}
ChangeList();//这里调用
}
$(".pur_classid").live("change",function(){
//alert("123");
var index = $(this).attr("id");
key = index;
myajax("admin/purchase.htm?act=product&typ=index&classid="+this.value,"sfun(msg,key)");
});
写进一个function。比如
function ChangeList(){
$(".pur_classid").live("change",function(){
//alert("123");
var index = $(this).attr("id");
key = index;
myajax("admin/purchase.htm?act=product&typ=index&classid="+this.value,"sfun(msg,key)");
});
}
然后
function sfun(msg,key){
if(msg){
$("#s"+key+" select").remove();
$("#s"+key).append(msg);
}
ChangeList();//这里调用
}
展开全部
尊敬的用户,您好!很高兴为您答疑。
使用append方式进行代码控件组装有个很敏感的问题,就是转义字符(如常见的换行符等),此类字符在肉眼甚至开发IDE的界面都无法用肉眼识别,但是浏览器会敏感,会直接导致浏览器的渲染异常。因此建议您仔细检查一下您的字符输出。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
使用append方式进行代码控件组装有个很敏感的问题,就是转义字符(如常见的换行符等),此类字符在肉眼甚至开发IDE的界面都无法用肉眼识别,但是浏览器会敏感,会直接导致浏览器的渲染异常。因此建议您仔细检查一下您的字符输出。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不用live 换成bind吧~~
追问
不行,我试了,如果那样只是最开始显示出来的能用,后面追加的一样不能用
追答
你这个是在操作当中为对象绑定事件。
正常来说bind()方法是可以的,只不过第二次出现的时候需要重新绑定。
live()方法应该可以解决这样的问题,不过可惜,就上面代码还真说不好问题出在哪里!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请考虑 jtemplates
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询