jQuery UI select 菜单更改属性标签

jQuery UI select menu changes label for attribute

正在使用 jQuery selectmenu,它正在更改对应于 Select 元素的标签的属性。 前任: 正在应用 select 这样的菜单

$('#ATTRIBUTE_4').selectmenu();

它正在被应用,我的元素变成了这样。

<table>
    <tr>
        <td>
            <label for="ATTRIBUTE_4-button">Label</label>
            <span style="float:right;margin-right:15px;">:</span>
        </td>
        <td>
            <select name="attribute_4" id="ATTRIBUTE_4" display: none;">
                <option value="Open">Open</option>
                <option value="Closed">Closed</option>
            </select>
            <span class="ui-selectmenu-button ui-widget ui-state-default ui-corner-all" 
                tabindex="0" id="ATTRIBUTE_4-button" role="combobox" aria-expanded="false"
                aria-autocomplete="list" aria-owns="ATTRIBUTE_4-menu" aria-haspopup="true" 
                aria-activedescendant="ui-id-5" aria-labelledby="ui-id-5" 
                aria-disabled="false" style="width: 165px;">
                <span class="ui-icon ui-icon-triangle-1-s"></span>
                <span class="ui-selectmenu-text">Open</span>
            </span>
        </td>
    </tr>
</table>

在此它还改变了属性的标签。 <label for="ATTRIBUTE_4-button">Label</label> 我可以使用 jQuery.But 更改为 <label for="ATTRIBUTE_4">Label</label> 有什么方法可以在应用 selectmenu() 方法时不更改属性?

如文档所述,

The select menu is based on a native select element, which is hidden from view and replaced with a custom-styled select button.

由于 jQuery 使用 id="ATTRIBUTE_4-button" 创建基于 select 的按钮并隐藏您原来的按钮,因此它会将标签的属性更改为 for="ATTRIBUTE_4-button" 以表示新创建的select 按钮。 此外,为页面上的控件提供唯一 ID 是免费的。

但是有什么方法可以在应用 selectmenu() 方法时不更改此属性?

没有任何自定义选项来控制这个东西,但是如果您非常需要保留这些属性,则必须编写自定义逻辑。