html:
<td>
<input type="text" name="c_name[]" class="form-control cast-name" id="cast1" autocomplete="off">
<div class="cast-search">
<div class="cast-pop">
<ul>
<li class="item">1</li>
<li class="item">2</li>
<li class="item">3</li>
</ul>
</div>
</div>
</td>
<td>
<input type="text" name="c_name[]" class="form-control cast-name" id="cast2" autocomplete="off">
<div class="cast-search">
<div class="cast-pop">
<ul>
<li class="item">1</li>
<li class="item">2</li>
<li class="item">3</li>
</ul>
</div>
</div>
</td>
取任何'li'值。在他们的“输入”之外我想打印
$('body').on('keyup','.cast-name',function(){
$(this).next().slideDown(200);
var datas = $(this).val();
var cast_pop = document.getElementsByClassName('cast-pop');
$.ajax({
url:"include/film/cast_get.php",
type:"GET",
data:'cast='+datas,
success:function(answer){
$('.cast-pop').html(answer);
$('.item').click(function(){
// how will I do ...
}
}
});
});
当我点击其中一个“li”元素时,我可以使用alert()函数获取值。但我想要的是将这个值输入
答案 0 :(得分:1)
$('.item').click(function(){
// how will I do ...
}
我想您想知道如何在ajax调用中获取动态创建的.item
li
的点击事件。
您需要了解 .delegate()
描述:根据a,为现在或将来与选择器匹配的所有元素的一个或多个事件附加处理程序 具体的根元素集。
$( document ).on( "li", "click", function() {
// you do like this
});
但是无需在ajax成功中编写上述代码。你可以在你的ajax电话之外写字。