0

我有一个按钮监听器,如下所示:

$('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 !非常感谢任何帮助!

4

3 回答 3

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');
于 2013-10-14T23:30:18.603 回答
1
var recent = "<button class='showrecent' onclick='showrecent(" + id + ")'>Recent Transaction</button>";
于 2013-10-14T23:29:37.960 回答
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>";
于 2013-10-14T23:33:51.527 回答