0
<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&nbsp;<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&nbsp;<b>b</b>ack<br>
        <span style="font-size:9px; color:#999999">back</span>
    </div>
</div>

我正在使用 facebook 等缩略图中的图像制作此自动完成搜索功能,并在 ajax 调用后将其作为 html 获取。我想要做的是,如果用户单击具有类 display_box 的任何 div,我想获取 div 中隐藏字段的值...

我尝试了此代码,但如果我使用#display click 事件捕获但它不会捕获单击事件,但这是针对整个 div 的。

$('.display_box').click(function() {
    var id =$(this).find('input[type=hidden]').val();
});    
4

3 回答 3

0

确保您正在添加 jQuery 文件并且 $ 没有冲突。您可以在编写 js 代码之前使用此行。

$ = jQuery.noConflict();
于 2012-06-28T11:50:51.310 回答
0

您的代码似乎有效。看看这个小提琴http://jsfiddle.net/3JK4c/

您是否将代码放入文档就绪函数中?

$(document).ready(function() {
    .... code here ....
});
于 2012-06-28T11:52:03.090 回答
0

终于发现了问题,实际上它是将点击事件与显示框绑定,但是当程序最初运行或直到你搜索时不存在显示框,所以我所做的是我在成功调用 ajax 时绑定了点击事件,现在它可以工作了。 ..我希望它有所帮助。实际上,当用户搜索来自数据库的内容时,这些 div 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');




    });
           }
      }




            });
于 2012-06-28T11:52:49.250 回答