0

我有两个按钮如下:

<input id="btn_sendmsg" name="send_message" type="button" value="SEND MESSAGE 1" />
<input id="btn_sendmsg" name="send_message" type="button" value="SEND MESSAGE 2" />

当我单击"SEND MESSAGE 1"按钮时,它可以正常工作并正常触发,但"SEND MESSAGE 2"按钮根本不触发,这是什么问题?

$("#btn_sendmsg").live('click', function(){
    parameters = $('#form1').serialize();
    alert(parameters);
});

谢谢。

4

4 回答 4

0
<input class="btn_sendMsg name="send_message" type="button" value="SEND MESSAGE 1" />
<input class="btn_sendMsg name="send_message" type="button" value="SEND MESSAGE 2" />

$('input.btn_sendMsg').click(function(){
      //code here         
});

用于$(this)获取被点击的元素。

于 2013-08-16T04:39:40.743 回答
0

您不应该为差异元素分配相同的 id。相反,您可以按类分配给它。

<input class="btn_sendmsg" name="send_message" type="button" value="SEND MESSAGE 1" />
<input class="btn_sendmsg" name="send_message" type="button" value="SEND MESSAGE 2" />

并尝试在 jquery 中使用循环运算符将任何事件分配给它。

$(".btn_sendmsg").each(function(){
    $(this).live('click',function(){
       parameters = $('#form1').serialize();
       alert(parameters);
    });
});
于 2013-08-16T04:40:13.760 回答
0

您有两个具有相同 ID 的按钮。将 id 更改为 2 个不同的名称或使其成为同一类的一部分。

不同的身份证

<input id="btn_sendmsg1" name="send_message" type="button" value="SEND MESSAGE 1" />
<input id="btn_sendmsg2" name="send_message" type="button" value="SEND MESSAGE 2" />

//Add a click handler for each id
$("#btn_sendmsg1").live('click', function(){
    parameters = $('#form1').serialize();
    alert(parameters);
});

$("#btn_sendmsg2").live('click', function(){
    parameters = $('#form1').serialize();
    alert(parameters);
});

同班

<input id="btn_sendmsg1" name="send_message" type="button" class="btn" value="SEND MESSAGE 1" />
<input id="btn_sendmsg2" name="send_message" type="button" class="btn" value="SEND MESSAGE 2" />

//This click handler is attached to the class
$(".btn").live('click', function(){
    parameters = $('#form1').serialize();
    alert(parameters);
});
于 2013-08-16T04:35:23.973 回答
0

一个元素的 ID在文档中应该是唯一的,如果您想将相同的键关联到多个元素,请使用类代替。

如果有多个具有相同 id 的元素,则id-selector将始终只返回具有 id 的第一个元素

<input class="btn_sendmsg" name="send_message" type="button" value="SEND MESSAGE 1" />
<input class="btn_sendmsg" name="send_message" type="button" value="SEND MESSAGE 2" />

然后

$(".btn_sendmsg").live('click', function(){
    parameters = $('#form1').serialize();
    alert(parameters);
});
于 2013-08-16T04:35:48.900 回答