js拼接字符串时,字符串的事件参数需要传对象或对象数组的处理方法
2014-05-12 15:41
537 查看
js拼接字符串时,字符串的事件参数需要传对象或对象数组的处理方法
有时候在js拼接字符串时,需要传递对象或对象数组,这时候直接将事件拼接在html达不到想要的效果,如
$(document).ready(function(){
var dd=[];
for(var i=0;i<3;i++){
var obj ={};
obj.a='i'+i;
obj.b='j'+i;
dd.push(obj);
}
var html="<a href='javascript:void(0);' onclick=\"fn_test("+dd+");\">aaaaa</a>";
$("#test").append(html);
});
function fn_test(b){
for(var i=0;i<b.length;i++){
alert(b[i].a);
}
}
dd参数为对象数组,直接这样做会对象参数会成为一个字符串传递过去,而达不到预料的效果,我们可以换种思路:先把生成的html字符串apend到页面上,然后再给节点绑定事件.
解决办法:
$(document).ready(function(){
var dd=[];
for(var i=0;i<3;i++){
var obj ={};
obj.a='i'+i;
obj.b='j'+i;
dd.push(obj);
}
var html=$("<a href='javascript:void(0);'>aaaaa</a>");
$("#test").append(html);
html.click(function(){
fn_test(dd);
});
});
function fn_test(b){
for(var i=0;i<b.length;i++){
alert(b[i].a);
}
}
或者
$(document).ready(function(){
var dd=[];
for(var i=0;i<3;i++){
var obj ={};
obj.a='i'+i;
obj.b='j'+i;
dd.push(obj);
}
var html="<a id="testNode" href='javascript:void(0);'>aaaaa</a>";
$("#test").append(html);
$("testNode").bind("click",function(){
fn_test(dd);
});
});
function fn_test(b){
for(var i=0;i<b.length;i++){
alert(b[i].a);
}
}
这样即达到想要的效果
有时候在js拼接字符串时,需要传递对象或对象数组,这时候直接将事件拼接在html达不到想要的效果,如
$(document).ready(function(){
var dd=[];
for(var i=0;i<3;i++){
var obj ={};
obj.a='i'+i;
obj.b='j'+i;
dd.push(obj);
}
var html="<a href='javascript:void(0);' onclick=\"fn_test("+dd+");\">aaaaa</a>";
$("#test").append(html);
});
function fn_test(b){
for(var i=0;i<b.length;i++){
alert(b[i].a);
}
}
dd参数为对象数组,直接这样做会对象参数会成为一个字符串传递过去,而达不到预料的效果,我们可以换种思路:先把生成的html字符串apend到页面上,然后再给节点绑定事件.
解决办法:
$(document).ready(function(){
var dd=[];
for(var i=0;i<3;i++){
var obj ={};
obj.a='i'+i;
obj.b='j'+i;
dd.push(obj);
}
var html=$("<a href='javascript:void(0);'>aaaaa</a>");
$("#test").append(html);
html.click(function(){
fn_test(dd);
});
});
function fn_test(b){
for(var i=0;i<b.length;i++){
alert(b[i].a);
}
}
或者
$(document).ready(function(){
var dd=[];
for(var i=0;i<3;i++){
var obj ={};
obj.a='i'+i;
obj.b='j'+i;
dd.push(obj);
}
var html="<a id="testNode" href='javascript:void(0);'>aaaaa</a>";
$("#test").append(html);
$("testNode").bind("click",function(){
fn_test(dd);
});
});
function fn_test(b){
for(var i=0;i<b.length;i++){
alert(b[i].a);
}
}
这样即达到想要的效果
相关文章推荐
- js中方法调用时,参数未被识别成字符串,而被当做对象来处理
- js 拼接HTML字符串 onclick事件传多个参数问题
- js将json格式的对象拼接成复杂的url参数方法
- 原生js获取事件发生对象兼容处理方法
- js将json格式的对象拼接成复杂的url参数方法
- js中字符串处理常用的方法(字符分割、字符拼接、截取字符串、是否包含一个字符串)
- 下面的示例演示如何使用传递到事件处理方法的 GridViewCommandEventArgs 对象确定引发事件的按钮的命令名。
- JS绑定事件和移除事件的处理方法
- Js中将字符串转为对象或数组的方法
- struts2 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用
- js和jquery解析json字符串为js对象的3种方法
- js事件处理程序的运行环境(改变attachEvent内部的this指向&封装兼容性的 addEvent方法)
- JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
- ajax 参数data问题 data中的 参数名 参数值为string 提交到后台后,会自动转换参数名相同的 类型 和 js字符串拼接
- js 将json字符串转换为json对象的方法解析
- js 获取函数的所有参数和遍历JavaScript某个对象所有的属性名称和值的方法
- js中json对象和字符串的理解及相互转化操作实现方法
- js中把JSON字符串转换成JSON对象最好的方法
- js String对象中常用方法小结(字符串操作)
- js中把JSON字符串转换成JSON对象最好的方法