последовательность событий javascript и проблема использования переменной в качестве параметра - PullRequest
0 голосов
/ 12 ноября 2010

О выполнении события onclick или onselect, которые имеют больший приоритет.Можно ли установить приоритет.Я хочу, чтобы onclick был перед onselect.

    <select id='t1' onClick=Click(); onSelect= selectClick();> </select>

для этой функции click () заполняет значения в списке.Хотя selectClick предназначен для выбора элемента из списка.

Проблема: когда я нажимаю на выпадающий список, я получаю содержимое selectclick (у меня предупреждение, поэтому я вижу предупреждение и вижу содержимое, заполняемое после3-4 раза нажимая на выпадающий список)

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

Я хочу использовать this.selectedIndex , чтобы получить индекс выбранного элемента, а затем передать его в качестве параметра вURL в ajaxcall.Возможно ли это?

Пожалуйста, предложите ...

Ответы [ 2 ]

1 голос
/ 12 ноября 2010

Вы должны прикрепить событие выбора к тегам option.

Вот пример:

function optionClicked(optionObj) {
  var index = optionObj.parentNode.selectedIndex;
  alert(index);
}

HTML-код для этого

<option onclick='optionClicked(this)'>Blah</option>

// EDIT

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

1 голос
/ 12 ноября 2010

Я бы предложил использовать onFocus для заполнения выбора, поскольку пользователь может использовать клавиатуру, чтобы сфокусироваться на выпадающем меню. Внутри обработчика фокуса вы можете проверить, заполнен ли выбор, а если нет, сделать AJAX-вызов. Важно дать некоторое указание на использование во время вызова AJAX (например, окно модального ожидания или текст настройки, такой как «пожалуйста, подождите, заполняется» в списке выбора).

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