jquery 避免更改选择输入

ycggw6v2  于 2022-12-03  发布在  jQuery
关注(0)|答案(2)|浏览(106)

有没有办法不让用户更改选择输入?
我有一个已经选择了选项的表单,我想让用户知道他们正在这样做,我也在尝试这样做。
我有一个id=users的select:

$("#users").change(function(){
        confirm("You are going to change the default value. Are you sure?");
   });

我遇到的一个问题是,它只发生在我点击一个选项时,而不是在我点击选择输入时发生。
还有一个问题是它显示了2次,有没有办法处理这个问题?
最后一个问题是,我如何才能在单击确认窗口的“取消”按钮后,不显示选项列表,而如果我单击“接受”,则应显示选项。
我想我尝试做的是一个中间事件,介于什么都不做和选择的点击事件之后。
希望有人能帮我。

szqfcxe2

szqfcxe21#

这基本上就是Tetsujin no Oni所说的,但是没有理由你不能用select来实现它。只要拦截鼠标按下而不是点击(这样它是即时的),并在必要时阻止默认行为:
http://jsfiddle.net/zKHaj/5/
此外,您可能希望添加一个布尔变量(如“hasAccepted”),这样您只需执行一次确认。

55ooxyrt

55ooxyrt2#

您可以禁用select输入(在标记中使用disabled="disabled"或在运行时执行)

$("#users").attr("disabled","disabled");

但随后您需要添加一个隐藏元素来提交值,或者在提交之前删除disabled属性(否则值将无法提交)。

相关问题