JSP + JQuery UI 选择菜单 + 默认文本
JSP + JQuery UI Selectmenu + default text
我在视图上有下一个选择:
<div class="sort">
<label for="sort"><span>Sort by:</span></label>
<select name="sort" id="sort">
<option selected="selected" disabled="disabled" style="display:none;">Choose...</option>
<option
<c:if test="${pagination.sortOn eq 'time' and pagination.asc}">selected="selected"</c:if>
data-text="DESC" value="time"
data-order="asc">
DESC
</option>
<option
<c:if test="${pagination.sortOn eq 'time' and not pagination.asc}">selected="selected"</c:if>
data-text="ASC" />" value="time"
data-order="desc">
ASC
</option>
</select>
</div>
这就是我在这个选择上放置 JQuery 小部件的方式:
$('#sort').goodsListSelect({
width : 180,
appendTo : ".sort",
change : function() {
var option = $(this).find(":selected:not([disabled])");
if (option.val()) {
utils.reloadWithParams({
"page" : 1,
"sort" : option.val(),
"order" : option.attr("data-order")
});
}
}
});
问题是我无法开始使用第一个选项"选择..."。仅当用户未选择任何其他选项时,它才应显示。
我尝试了以下答案,但它们对我不起作用:
HTML选择:如何设置下拉列表中不会显示的默认文本?
默认情况下如何显示禁用HTML选择选项?
如何实现这种行为?
通常,像这样覆盖选择菜单小部件
jQuery.widget(
'custom.selectmenu_with_title',
$.ui.selectmenu,
{
_setText: function( element, value ) {
if (element.hasClass('ui-selectmenu-text')) {
element.text('Whatever should be the title');
} else if ( value ) {
element.text( value );
} else {
element.html( " " );
}
}
}
);
并称其为原始的。
$('#sort').selectmenu_with_title(....);
在您的特殊情况下,您不使用原始selectmenu
小部件,而是使用名为 goodsListSelect
的自定义版本。因此 - 将自定义_setText
方法插入到自定义小部件的定义中。
相关文章:
- 在AngularJS Dropdownlost中设置默认文本选项
- knockout.js、knockout可排序和默认文本
- 单击时清除
标记中的默认文本
- 如何将默认文本添加到搜索栏
- 如何在 WP 中的表单中向输入字段添加默认文本
- 像tumblr这样的文本字段中的Javascript默认文本
- 包含默认文本的文本框
- Jquery 验证 - 需要至少 2 个字段中的 1 个填充默认文本以外的任何内容
- php在用户注册后为表单中的可选值设置默认文本
- 搜索字段,清除焦点上的默认文本-FF 3.6
- 加载时为TextBox默认文本,焦点为空文本框
- 如何在指令的情况下更改下拉列表的默认文本,并对指令应用所需的验证
- 当文本区域绑定到模型时,angularjs中的默认文本区域值
- 在文本框中键入时,将默认文本与键入的文本一起移动
- 更改默认文本“;输入位置“;在谷歌地图地点API
- 使用默认文本在twitter上共享链接
- 如何在单击另一个元素时将onclick函数转换为默认文本
- 当用户输入用户名时,清除默认文本
- 在表单的文本字段中设置默认文本
- 输入字段中的默认文本