1
for (var i=0; i<data.length; i++){
    $("#menu").append("<button onclick='select_food("+data[i]['id']+","+data[i]['name']+")'>Select</button>)")
}
function select_food(id, name){
     //do something
}

このコードには構文エラーがあります。select_food 関数を呼び出すボタンごとに 2 つのパラメータを渡すにはどうすればよいですか?
ありがとう。

4

3 に答える 3

1

パラメータnameは文字列のように見えるため、 で囲む必要が""あります。また、関数select_foodがグローバル スコープで使用できることを確認する必要があります。

for (var i=0; i<data.length; i++){
    $("#menu").append('<button onclick="select_food("' + data[i]['id'] + '","' +data[i]['name'] + '")>Select</button>)')
}
function select_food(id, name){
     //do something
}
于 2013-09-06T16:20:32.530 に答える
0

ここに可能な解決策があります(ここでフィドルを参照してくださいhttp://jsfiddle.net/gDNTw/2/):

$('#menu').on('click', 'button', function() 
{
    var id = this.id;
    var name = this.name;

    alert(id + ':'  + name);
    // do something...
});

for (var i = 0; i < data.length; i++)
{
    $("#menu").append('<button id="' + i + '" name="' + data[i] + '">Select</button>')
}
于 2013-09-06T16:40:09.467 に答える