Jquery - избегать изменения выбранного входа - PullRequest
5 голосов
/ 17 января 2012

Можно ли запретить пользователям изменять выбранный вход?

У меня есть форма с уже выбранной опцией, и я хочу, чтобы пользователи знали, что они делают это, и я пытался сделать это

У меня есть выбор с id = пользователи,

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

Одна из проблем, с которыми я сталкиваюсь, заключается в том, что это происходит только в том случае, если я щелкаю опцию, а не происходит, как только я нажимаю на выбранный вход.

Другое дело, что он показывает 2 раза, есть ли способ справиться с этим?

И последний вопрос, как я могу сделать так, чтобы после нажатия на кнопку «отмена» в окне подтверждения он не отображал список опций, а если я нажимаю «принять», он должен отображать опции.

Я предполагаю, что я пытаюсь сделать промежуточное событие между тем, чтобы ничего не делать, и событием после щелчка для этого выбора.

Надеюсь, кто-нибудь может мне помочь.

Заранее спасибо

Хавьер Q

Ответы [ 2 ]

6 голосов
/ 17 января 2012

Это в основном то, что сказал Тетсуджин но Они, но нет никаких причин, по которым вы не можете сделать это с помощью выбора. Просто перехватите mousedown вместо щелчка (чтобы он был мгновенным) и при необходимости предотвратите поведение по умолчанию:

http://jsfiddle.net/zKHaj/5/

Кроме того, вы можете добавить логическую переменную типа hasAccepted, чтобы вам нужно было сделать подтверждение только один раз.

1 голос
/ 17 января 2012

Вы можете отключить выбор ввода (либо в теге с disabled="disabled", либо во время выполнения, выполнив)

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

но затем вы захотите добавить либо скрытый элемент для отправки вашего значения, либо удалить отключенный атрибут непосредственно перед отправкой (в противном случае значение не будет отправлено).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...