javascript - 触发器 ('change' )选择第一个选项,这是我不想要的

标签 javascript jquery html-select

我有一个包含多个选项的选择。没有空选项。

在调用触发器之前没有选择任何选项,运行之后它运行第一个选项是预先选择的,我希望选择保持原样,不已选择选项

$("#selProduct").trigger('change');

如何解决这个问题? 我仍然想触发更改以运行事件,但我不想选择第一个选项。

最佳答案

我认为您所看到的是 DOM 被触摸后的结果,并且取决于浏览器(但是 selectedIndex 应该 已经是 0 了)。

也就是说,使用 .triggerHandler() 仅运行处理程序,如下所示:

$("#selProduct").triggerHandler('change');

对于您的问题,您可能想在 <select> 上存储一些内容在页面加载时,当它被“触摸”时会发生变化,例如:

$("#selProduct").change(function() { 
  $.data(this, 'changed', false);
  //do stuff
}).data('changed', false);

关于javascript - 触发器 ('change' )选择第一个选项,这是我不想要的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4043174/

相关文章:

javascript - 获取表格单元格失败

java - 无法在 selenium Web 驱动程序中使用 Javascript 设置选择值

android - 如何在平板电脑上使用 Android 3.1 使 Web 表单选择看起来正常?

Javascript 表单验证 : how to force focus to remain on 'incorrect' field?

javascript - CSS下拉菜单的过渡效果

jquery - jQuery 最轻的非模式对话框?

javascript - 如何使用 JavaScript 获取 AJAX 的选择值

javascript - Vue - 使用插件作为原型(prototype)

javascript - 为什么在javascript Canvas 动画上创建几个对象后,它们是连接在一起的?

javascript - 如何使用 forEach 函数将值推送到变量中