【发布时间】:2012-05-29 06:59:24
【问题描述】:
我正在使用选择标签对表格进行排序。但是,我希望每次选择选项时都进行排序,而不仅仅是在更改时进行。
(我正在使用 jquery) 这就是为什么我认为 .change() 事件不适合这种情况。
我尝试在<option> 上绑定 .click() 事件,但 chrome 不会触发这些事件。
有什么想法吗?
谢谢
编辑:我的解决方案
感谢大家的回复。
我最终使用不同的方法解决了这个问题。
我添加了一个中性选项:
<select>
<option>--Select--</option> <--new option
<option>Name</option>
<option>Date</option>
</select>
然后,每次直接从表中进行排序时,我都会将 Select 索引重置为 0,因此无论您选择什么,都会触发 .change() 事件。
【问题讨论】:
-
selected你的意思是悬停在上面还是你的意思是实际选中(如用户点击它)?如果后者.change()是你想要的。 -
我正在排序的表也可以通过单击列进行排序,并且也可以对 ASC 和 DESC 进行排序。因此,即使我选择了当前选择的选项,我也需要选择选项进行排序。 onchange() 在这种情况下不会触发
-
+1 在上面。当用户选择一个选项时, selectedIndex 会更新并触发 change 事件。选择是链条的一部分。单击将不起作用,因为单击发生在选择上,而不是选项上。
-
嗯...刚刚看到您的回复。如果您捕获对选择而不是选项的点击,您可以只询问 selectedIndex 并根据它进行排序。
-
在我实际选择任何内容之前,Select 上的点击事件不会触发吗?
标签: javascript jquery html select option