我有一个按钮监听器,如下所示:
$('body').on('click', '.showrecent', function() {
$('#display').toggle();
});
我有一个json搜索(我在附加一个按钮):
var search = 0;
$.getJSON('data.json', function(data) {
if ((this.Name.toLowerCase()).indexOf(sr) > -1) {
id++;
//blah blah blah
var recent = "<button class = 'showrecent' onclick = 'showrecent(id)'>Recent Transaction</button>";
$('#founded').append(recent);
});
});
基本上,我想用showrecent函数传递id! 任何帮助都非常感谢!
答案 0 :(得分:2)
如果您希望每个人在函数调用中拥有自己的id
,则需要连接。
var recent = "<button class = 'showrecent' onclick = 'showrecent(" + id + ")'>Recent Transaction</button>";
另一种方法是使用jQuery绑定处理程序。
id++;
var thisid = id;
$("<button>", {className:'showrecent',
text:" Recent Transaction",
click: function() {
showrecent(thisid);
}
}).appendTo('#founded');
答案 1 :(得分:1)
var recent = "<button class='showrecent' onclick='showrecent(" + id + ")'>Recent Transaction</button>";
答案 2 :(得分:1)
如果不使用内联事件处理程序,则会更好。
var recent = $("<button class ='showrecent'>Recent Transaction</button>");
recent.data("id",id);
recent.on("click",showrecent);
$('#founded').append(recent);
和功能
function showrecent() {
var btn = $(this);
var id = btn.data("id");
console.log(id);
}
如果您想按照自己的方式进行操作,请构建字符串。
var recent = "<button class = 'showrecent' onclick = 'showrecent(" + id + ")'>Recent Transaction</button>";