<div id="display">
<div align="left" class="display_box">
<a class="test" href="#">
<img style="width:25px; float:left; margin-right:6px" src="user_img/gow.jpg">
</a>
<input type="hidden" id="uid" value="3">
<b>b</b>ack <b>b</b>ack<br>
<span style="font-size:9px; color:#999999">back</span>
</div>
<div align="left" class="display_box">
<a class="test" href="#">
<img style="width:25px; float:left; margin-right:6px" src="user_img/gow.jpg">
</a>
<input type="hidden" id="uid" value="3">
<b>b</b>ack <b>b</b>ack<br>
<span style="font-size:9px; color:#999999">back</span>
</div>
</div>
我正在使用像facebook这样的缩略图中的图像进行自动完成搜索功能,并在ajax调用后将其作为html。 我想要做的是,如果用户点击任何带有类display_box的div,我想获得div中隐藏字段的值...
我尝试过这段代码,但是如果我使用#display点击事件捕获但不是捕获点击事件,那就是整个div。
$('.display_box').click(function() {
var id =$(this).find('input[type=hidden]').val();
});
答案 0 :(得分:0)
确保添加jQuery文件并且$没有冲突。您可以在编写js代码之前使用此行。
$ = jQuery.noConflict();
答案 1 :(得分:0)
您的代码似乎有效。 看看这个小提琴http://jsfiddle.net/3JK4c/
您是否已将代码放入文档就绪函数中?
$(document).ready(function() {
.... code here ....
});
答案 2 :(得分:0)
最后发现问题实际上它是将click事件与displaybox绑定,但是当程序最初运行时或者直到你搜索时都没有显示框的存在所以我所做的就是在ajax调用成功时绑定click事件它的工作...我希望它有所帮助。实际上这些divs display_box是动态制作的,当用户搜索来自数据库的东西时,这是完整的代码,可以帮助任何人
$.ajax({
type: "POST",
url: "search.php",
data: dataString,
cache: false,
success: function(html)
{
if(html !="")
{
$("#display").html(html).show();
$('.display_box').click(function(){
$('#temp').val($(this).find('input[type=hidden]').val());
$('#searchbox').val($(this).find('.name').text());
$('#display').fadeOut('slow');
});
}
}
});