我有一些生成一些html元素的javascript,如下所示:
%22
我需要做的是为每个动态创建的li元素分配一个函数,如下面的代码:
for (var i = 0; i < suggestions.length; i++) {
var suggestion = suggestions[i];
var $li = $('<li data-profile-id="'+ suggestion.id + '" data-profile-name="'+suggestion.first_name + ' ' + suggestion.last_name + ' " class="search-name-result" ></li>');
$suggestionsUl.append($li);
var $img = $('<img src="/img/profile/' + suggestion.picture_url + '" class="search-suggest-img pull-left" />');
$li.append($img);
var $link = $('<a href="' + suggestion.id + '">' + suggestion.first_name + ' ' + suggestion.last_name + '</a>');
$li.append($link);
}
但我不确定如何在创建它们时将其分配给每个li。
由于
答案 0 :(得分:0)
几乎在那里,但实际上委托使用像<%= link_to 'xyz' show_saldo_path(:nomor => 'nomor', :def => 'def'......) %>
这样的父容器
def
此外,您可以更改
document
使用$(document).on('click','.search-name-result', function(e){
$input.val($(this).data('profile-name'));
});
之类的
$('.search-name-result').data('profile-name'))
因为它会被点击$(this)
答案 1 :(得分:0)
您应该使用事件委派来动态添加元素。
$(document).on('click','.search-name-result', function(e){
$input.val($('.search-name-result').data('profile-name'));
});