JQueryUI不使用使用相同ID的多个按钮

时间:2011-03-03 11:35:56

标签: jquery jquery-ui

所以这些是我的按钮

<button name="btnSubmit" value="refreshPreview">Refresh Preview</button>
<button name="btnSubmit" value="saveChanges">Save Changes</button>

我使用相同的ID,因为在PHP中我只看到$ _POST ['btnSubmit'] ='refreshPreview'或'saveChanges',我认为这是有效用途。

这个JQuery不影响任何一个按钮。如何更正此问题,有没有办法选择具有相同ID的所有按钮?

$( "#btnSubmit" ).button();

由于

7 个答案:

答案 0 :(得分:2)

我认为你犯了一个根本性的错误。 jQuery#selector引用ID,而不是名称。

请改写为:

<button class="btnSubmit" name="btnSubmit" value="refreshPreview">Refresh Preview</button>
<button class="btnSubmit" name="btnSubmit" value="saveChanges">Save Changes</button>

JS为:

$( ".btnSubmit" ).button();

请注意,ID始终必须是唯一的。

答案 1 :(得分:2)

您实际需要的选择器是:

$('button[name="btnSubmit"]').button();

或者选择使用类似其他答案的类,这可能是更好的事情。

答案 2 :(得分:1)

您的按钮都没有ID:

<button name="btnSubmit" id="btnSubmit" class="my-button" />

名称与id不同。您不应该为两个元素使用相同的id。请改用类名:

$( ".my-button" ).button();

答案 3 :(得分:0)

# = id

但您已将名称设为非ID!

答案 4 :(得分:0)

您不能对HTML中的多个元素使用相同的ID。然后它不会是一个id。在PHP中,您实际上是在引用HTML元素的名称而不是ID,因此您不必担心冲突。给出唯一的ID,你应该没问题

答案 5 :(得分:0)

在HTML文档中,ID应该是唯一的。您正在使用的是名称属性,可以通过以下方式访问:

$('[name="btnSubmit"]').button();

答案 6 :(得分:0)

$( "#btnSubmit" ).button();

这会选择btnSubmit ID。标记中没有这样的元素。您拥有的是具有此名称的两个按钮。如果这些按钮中有id = "btnSubmit",则可能有效。