Используя jquery 1.7.1, я использую json для заполнения выпадающего списка.Код работает просто замечательно и хранится в функции, но вызывается document.ready()
.Я надеюсь, что кто-то найдет это полезным, НО:
proxy.invoke("fetchCHAA", {},
function(result) {
if (result == null) {
alert("Possible error in fetching list of CHAAs");
return;
}
else {
var optionsValues = '<select>';
optionsValues += '<option value=""></option>';
$.each(result, function() {
optionsValues += '<option value="' + this.chaa_id + '">' + this.chaa_name + '</option>';
});
optionsValues += '</select>';
var options = $('#optionsChaa');
options.replaceWith(optionsValues);
}
}, onPageError);
Как я уже сказал, проблема заключается в событии .change или даже попытке получить значение выбранного элемента.Например, мы знаем, что
var id = $("#optionsChaa").val();
// should bring back the chaa_id
Или:
var text = $("#optionsChaa").text();
// should bring back the chaa name
Проблема в том, что возвращение идентификатора или текста через .val()
всегда неопределено.Я заметил, что другие, похоже, имеют ту же проблему, но, похоже, не могут ее решить.
Я даже добавил событие change в объект optionsValue, надеясь, что оно будет работать после загрузки DOM, но это не похожеработать также.
Я не хочу жестко кодировать список параметров на странице, но, похоже, мне придется.