2012-06-28 172 views
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。 我想要做的是,如果用户点击任何div与类display_box我想要得到隐藏的字段在div中的值...jquery自动完成点击事件

我试过这段代码,但它没有捕获点击事件如何,如果我使用#display点击事件捕获,但这是整个div。

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

你是如何创建这些#display块?动态?还[[小提琴](http://jsfiddle.net)将帮助形象化您的代码:) – AbstractChaos

回答

0

终于发现了问题,实际上它是结合与显示框的点击事件,但没有显示框的存在程序开始运行,或直到你搜索,所以我所做的就是我在成功的单击事件绑定时阿贾克斯呼吁,现在它的工作......我希望它有帮助。实际上这些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'); 




    }); 
      } 
     } 




      }); 
0

确保您添加了jQuery文件并且$没有冲突。你可以在写你的js代码之前使用这一行。

$ = jQuery.noConflict(); 
0

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

你把代码放在文档就绪函数里面吗?

$(document).ready(function() { 
    .... code here .... 
});