怎么回事......
我正在尝试将json的字符串结果传递给单击按钮时的函数,但我有一些问题。
这是我的HTML代码:
$(document).ready(function) {
...
$.getJSON(url, {data...}, function result() {
var data = eval(result);
for (var i in data) {
$("body").append("<button onclick='ShowMore("+data[i].AREA+")'>"+data[i].AREA+</button>");
}
});
});
function ShowMore(area){
alert(area);
}
说明:
我的桌子上有一些公司区域(系统,营销,人力资源等 - 名称上有'空格'的许多区域)。
然后我有另一张属于每个区域的桌子(EMPLOYESS)。
但是我需要将'AREAs NAME'传递给ShowMore(变量)函数,以便与该区域的所有成员一起做一个列表(我不知道我是否解释得非常好)。
当我点击按钮时,我没有任何提醒..但是,当我更改 onclick =''功能时......(例如 onclick =“+ data [i] .CODAREA +“)结果警报良好( 11,14,19,20 .. )......
AREAs NAME上的空格是否存在任何问题。
感谢您的回答,问候
答案 0 :(得分:1)
试试这个
$("body").append("<button onclick='alert(\""+data[i].AREA+"\")'>"+data[i].AREA+"</button>");
data[i].AREA+</button>");
中有拼写错误
应为data[i].AREA+"</button>");
也会转义“”,以便将数据[i] .AREA读取为字符串
答案 1 :(得分:0)
关于你的代码,你可以像下面的scape ...
$(document).ready(function) {
...
$.getJSON(url, {data...}, function result() {
var data = JSON.parse(result);
var btn = "";
for (var i in data) {
btn = "<button ";
btn += "onclick='ShowMore(\'";
btn += data[i].AREA;
btn += "\')'>";
btn += data[i].AREA;
btn += "</button>";
$("body").append(btn);
}
});
});
function ShowMore(area){
alert(area);
}
但你可以用更快的方法来做到这一点......
$(document).ready(function) {
...
$.getJSON(url, {data...}, function result() {
var data = JSON.parse(result);
var btn;
for (var i in data) {
btn = document.createElement("button");
btn.innerText = data[i].AREA;
document.body.appendChild( btn );
btn.addEventListener( "click", function(){
ShowMore( data[i].AREA);
}, true);
}
});
});
function ShowMore(area){
alert(area);
}
如果数据是数组,我认为最好使用for(var i = 0; i < data.length; i++)