有没有办法不让用户更改选择输入?
我有一个已经选择了选项的表单,我想让用户知道他们正在这样做,我也在尝试这样做。
我有一个id=users的select:
$("#users").change(function(){
confirm("You are going to change the default value. Are you sure?");
});
我遇到的一个问题是,它只发生在我点击一个选项时,而不是在我点击选择输入时发生。
还有一个问题是它显示了2次,有没有办法处理这个问题?
最后一个问题是,我如何才能在单击确认窗口的“取消”按钮后,不显示选项列表,而如果我单击“接受”,则应显示选项。
我想我尝试做的是一个中间事件,介于什么都不做和选择的点击事件之后。
希望有人能帮我。
2条答案
按热度按时间szqfcxe21#
这基本上就是Tetsujin no Oni所说的,但是没有理由你不能用select来实现它。只要拦截鼠标按下而不是点击(这样它是即时的),并在必要时阻止默认行为:
http://jsfiddle.net/zKHaj/5/
此外,您可能希望添加一个布尔变量(如“hasAccepted”),这样您只需执行一次确认。
55ooxyrt2#
您可以禁用select输入(在标记中使用
disabled="disabled"
或在运行时执行)但随后您需要添加一个隐藏元素来提交值,或者在提交之前删除disabled属性(否则值将无法提交)。