.on或.click函数只能使用相同的名称表单元素

时间:2017-01-30 18:42:55

标签: javascript jquery html

我在php循环中有一个表单,如果数据库中有3个元素,则有3个具有相同名称的表单。这些表单包含一个具有相同名称的按钮。所以一切都喜欢这样:

<form id="test">
  <button id="testbutton"></button>
</form>
<form id="test">
  <button id="testbutton"></button>
</form>
<form id="test">
  <button id="testbutton"></button>
</form>

当我尝试从javascript调用.on或.click函数时出现问题。它只工作一次。

这是JS代码:

$(document).ready(function () {
    $('#testbutton').on("click", function() {
        function();
    });
});

按钮淡出某些具有不同名称的div。

3 个答案:

答案 0 :(得分:5)

ID's Must Be Unique,特别是因为当您尝试与这些元素进行交互时,它会在JavaScript和CSS中导致问题。

为您的元素添加一个类:

input[type="checkbox"] { 
    position: absolute;
}
input[type="checkbox"] ~ label { 
    padding-left:1.4em;
    display:inline-block;
}

现在您的选择器可以使用类:

<form>
  <button class="testbutton"></button>
</form>
<form>
  <button class="testbutton"></button>
</form>
<form>
  <button class="testbutton"></button>
</form>

答案 1 :(得分:0)

请尝试在按钮类型上绑定事件而不是像这样的

JFrame

请在fiddle

中查看

答案 2 :(得分:0)

我用这句话解决了我的问题:

$(本).closest(&#34;形式&#34)。发现(&#34;输入[名称= testfield]&#34)。VAL()

解释问题有点复杂,但解决方案就在这里。单击按钮可找到所需字段的最近形式和最接近的值。所以,我的问题已经消失,但感谢所有的帮助,你帮助我清除了一些疑虑! :)