如何使用JQuery(或Javascript)检测隐含的HTML选项选择
How to detect implicit HTML option selection with JQuery (or Javascript)
如果我有这样的标记块:
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
默认值将是"volvo",即使在任何选项上都没有selected="selected"属性。
有没有一种方法可以判断该值是通过显式选择的属性派生的,还是通过默认的隐式值派生的?
如果是,那么需要什么样的Javascript或JQuery代码才能做到这一点?
var $changed;
$('select').on('change', function(){
$changed = true;
});
if($changed){
//manual selection event
}else{
//nope, it's default
}
或者,只需添加<option> ---- Choose ---- </option>
并避免不必要的代码。
您只需检查所选属性:
if(!$('select').find('option[selected]').length)
alert('default option');
也许我没有得到这个问题,但由于HTML的工作方式,默认情况下会选择volvo
。
对于"空白"选项,您可以使用Ohgodhwhy建议。
这是一个小提琴
相关文章:
- 从动态创建的html选择中选择所选选项
- 向html选择元素添加选项
- HTML选择,在DOM中选择了正确的选项,但在firefox中显示了错误的项目
- 构建HTML选择字段并使用JavaScript数组选择选项
- 当html选择/选项发生更改时,需要更新输入字段
- 使用javascript和html选择第二个选项后发出警报
- javascript函数将当前时间显示为html选择标记的预选值
- laravel5.0中HTML选择标记的动态选择
- jQuery将输入集中在下一个tr->td时,td包含一个输入字段,但从不关注html选择
- 基于's是在HTML选择框中选择的
- 如何使用Angular 2设置HTML选择值
- 在html选择中显示AJAX成功JSON值
- 使用 jQuery 增加 HTML 选择框的大小属性
- 当我认为它不应该重新渲染视图时,如何防止 Meteor 在 html 选择 dom 单击事件上重新渲染视图
- HTML 选择元素的只读等效项
- 如何使 html 选择选项在 Meteor 中工作
- 当“不相关”的 html 选择元素没有选择任何选项时,如何退出 jQuery 事件
- HTML选择:将默认值设置为给定值,而不是从选项列表中选择
- html选择-范围为0-10
- 是否可以在HTML选择下拉菜单的每个选项上附加一个qtip2工具提示