вызов функции в строке
Доброго времени суток.
Есть код, который не совсем работает: for (var i = 0; i <= data.Data[1].length; i++) { var str = $("<tr><td>" + data.Data[1][i][0] + "</td><td>" + data.Data[1][i][1] + "</td><td>" + data.Data[1][i][2] + "</td><td class='remove'><a href='' onclick='delPers(" + data.Data[1][i][0] + ");'>remove</a></td></tr>"); tab_cont.append(str); } onclick='delPers(" + data.Data[1][i][0] + ");' - вот это функцию не вызывается. Как правильно вызвать эту функцию? |
for (var i = 0; i <= data.Data[1].length; i++) { var str = $("<tr><td>" + data.Data[1][i][0] + "</td><td>" + data.Data[1][i][1] + "</td><td>" + data.Data[1][i][2] + "</td><td class='remove'><a href='' onclick='delPers(" + data.Data[1][i][0] + "); return false;'>remove</a></td></tr>"); tab_cont.append(str); } |
onclick='delPers(" + data.Data[1][i][0] + ");' это плохая практика. |
вопрос решен) ошибка была в другом месте)
|
а какая хорошая?
|
вы имеете ввиду чтото типа этого:
var mylink = $("<a />", { onclick: delPers() }) str.append(mylink); честно писала на память могла ошибится, но суть такая или вы что-то другое имеете ввиду? |
вы же используете jq. так используйте её по максимуму. плюс, вы пишите на js, а не верстаете на html.
хотя бы так, но я могу ошибиться в красной строчке... а могу и не ошибаться. замыкания на вид трудно воспринимаю :) $.each( data.Data[1], function(i,a){ // a -> data.Data[1][i] var b = $("tr";) $.each(a, function(n, m){ b.append( $("td").html(m) ); }); // <td class="remove"><a onclick="delPers.....">.... b.append( $("td").addClass("remove").html("remove").click(function(){ *!* delPers( a[0] ); */!* }) ); tab_cont.append(b); }); |
ну я ещё не до конца освоилась в jq) спасибо за разъяснение!
|
Часовой пояс GMT +3, время: 12:56. |