jQuery UI选择菜单更改属性的标签

时间:2015-04-28 08:09:45

标签: javascript jquery jquery-ui select-menu

使用jQuery selectmenu,它正在更改与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更改为<label for="ATTRIBUTE_4">Label</label>。但是有什么办法可以在应用selectmenu()方法时不改变属性吗?

1 个答案:

答案 0 :(得分:2)

正如文档所说,

  

选择菜单基于隐藏的本机选择元素   从视图中取而代之的是自定义样式选择按钮。

由于jQuery使用id="ATTRIBUTE_4-button"创建基于按钮的选择并隐藏原始的选项,因此它将标签属性更改为for="ATTRIBUTE_4-button"以表示新创建的选择按钮。 此外,在页面上具有控件的唯一ID是免费的。

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

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