如何检查同一事件的多个元素

时间:2014-05-29 06:44:51

标签: javascript jquery html facebook

对多个元素的行为相同。

// html

<div id="">
<input type="hidden" value="1258" /> value of user id to make friend
</div> 
<div id="">
<input type="hidden" value="2595" />
</div>
<div id="">
<input type="hidden" value="2563" />
</div>

现在我想检查点击哪个div添加好友并获取隐藏值并使用此代码将其发送到服务器

$().click(function(){
 $x=$("hidden").value(); // the value is friendID
//then send $x to the server using Ajax
});

我试过像这样使用它

$("#div1,#div2,#div3").click(function(){
 $x=$("hidden").value(); // the value is friendID
//then send $x to the server using Ajax
});

但我有更多的元素代码增长,它不是动态的,也是同样的事情,如果我想让行为像按钮,我有多个像按钮我应该知道哪个帖子和哪个像

2 个答案:

答案 0 :(得分:4)

你的选择者都错了。 div元素没有任何id属性,因此选择它们将无法正常工作。其次,您希望使用:hiddeninput[type="hidden"]来选择隐藏的输入。最后,要获取表单元素的值,请使用val(),而不是value()

如果您想要使其动态化,那么代码将适用于xdiv个元素,请使用class来识别它们,然后使用this处理程序,用于访问引发事件的元素,如下所示:

<div class="foo">
    <input type="hidden" value="1258" /> value of user id to make friend
</div> 
<div class="foo">
    <input type="hidden" value="2595" />
</div>
<div class="foo">
    <input type="hidden" value="2563" />
</div>
$('.foo').click(function(){
    x = $(this).find('input[type="hidden"]').val(); 
    alert(x)
});

Example fiddle

答案 1 :(得分:-1)

<div id="div1">
<input type="hidden" value="1258" /> value of user id to make friend
</div>


$("[id^=div]").click(function() {
   $x=$(this).find("[type=hidden]").val();
});

<div class="classSelector">
    <input type="hidden" value="1258" /> value of user id to make friend
    </div>

 $(".classSelector").click(function() {
       $x=$(this).find("[type=hidden]").val();
    });