В моей форме есть окно со списком, в котором запрашивается страна пользователя, но я хочу только заполнить список с помощью вызова AJAX, если поле doesn 't уже показывает страну пользователя. Первоначально в списке есть только одна страна - страна, возвращенная из поиска ip-to-country на сервере.Автоматическое заполнение окна списка имен стран с использованием jquery и события щелчка окна
По-видимому, действие по умолчанию в списке появляется перед моим действием. Сначала я хочу, чтобы мои действия возникли, так что, когда пользователь нажимает на окно списка, поле предварительно заполняется странами, снятыми с сервера до того, как откроется окно.
Спасибо за любые предложения.
$().ready(function() {
$('select#selCountry').one('click', function() {
var selCountry = $('select#selCountry');
var selected = $(selCountry).val();
selCountry.html('<option value="">Loading...</option>');
$.getJSON('/AjaxHelpers/CountryList', function(data) {
if (data.length) {
var options = '';
for (var i = 0; i < data.length; i++) {
var key = data[i].Key;
var val = data[i].Value;
options += '<option value="' + key + '"';
if (key == selected) {
options += ' selected="selected"';
}
options += '>' + val + '</option>';
}
selCountry.html(options);
}
else {
selCountry.html('<option value="">Failed.</option>');
}
});
});
});
HTML:
<div>
<select id="selCountry" name="CountryCode"><option value="GB">United Kingdom</option>
Что такое «действие по умолчанию». что именно происходит с этим кодом, что вы не хотите делать? – mkoryak