使用jquery附加按钮获取参数

时间:2013-10-14 23:26:55

标签: javascript jquery html json

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

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

3 个答案:

答案 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>";