2015-03-24 80 views
0

我在jQuery中动态添加DOM对象时遇到了问题。首先我用这个:动态添加对象的jQuery Eventhandler

var $input = $('#search-input'); 
var $usersList = $('#ulist'); 

     $input.on('input', function() { 
     $.ajax({ 
      type: 'get', 
      url: '/userlist', 
      data: {query: $input.val()}, 
      success: function (response) { 

       var json = JSON.parse(response); 
       $usersList.empty(); 
       $.each(json, function (index, val) { 
        $usersList.append("<div id=\"listelem\"><a href=\"#\">" + val + "</a></div>"); 

       }); 
      } 
     }); 
    }); 



<div id="ulist"></div> 
<input id="search-input" type="text"> 

把div插入usersList。这很好,但现在我想从这个div中获取val,当我点击它进一步处理它。我写这段代码:

$usersList.on('click','#listelem', function(){ 
    alert("clicked"); 
}); 

当我点击的div我得到了适当的警告,但现在我不知道我怎么可能把这个元素的内部数据。

回答

0

试试这个

$(document).on('click','#listelem', function(event) { 
    alert($(event.target).text()); 
}); 

jsfiddle

+0

抱歉,但我没有看到在您的评论的东西,可以帮助我,我有类似的东西

1
2
当我点击第一个div我想从它取值“1”,如果我点击下一个我希望它可以传递我“2”的价值,希望现在清楚 – 2015-03-24 21:33:50

+0

试试这个,为我工作 – ashkufaraz 2015-03-24 21:55:04

0

我不知道正确的工程,但我处理过类似的问题,而我是开发一些要求。基本上我知道你想找出事件的目标并从那里拖出一个值?如果是的话,你可以这样做:

jQuery(document).on('click', '#listelem', function(event){ 
var x = event.target.val();// event.target.value; depending on your situation and availability of the method. 
}); 

希望这会有所帮助。

+0

感谢您的回复,我测试了它,但我不能得到target.val()它似乎像我的event.target不能通过我这样。 – 2015-03-24 22:00:44

0

谢谢你的帮助。对我来说,正确的选择是打电话

var mem = event.target.innerText;