使用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()方法时不改变属性吗?
答案 0 :(得分:2)
正如文档所说,
选择菜单基于隐藏的本机选择元素 从视图中取而代之的是自定义样式选择按钮。
由于jQuery使用id="ATTRIBUTE_4-button"
创建基于按钮的选择并隐藏原始的选项,因此它将标签属性更改为for="ATTRIBUTE_4-button"
以表示新创建的选择按钮。
此外,在页面上具有控件的唯一ID是免费的。
但是有什么办法可以在应用selectmenu()方法时不改变属性吗?
没有任何自定义选项来控制这个东西,但是如果您有必要保留这些属性,则必须编写自定义逻辑。