Я новенький на asp.net mvc, и еще новее использую jquery, так что это моя проблема: у меня есть несколько выпадающих списков, которые динамически заполняются данными из другого выпадающего или текстового поля, и данными техраскрывающийся список используется для другого раскрывающегося списка, например цепочки, моя проблема в том, что в раскрывающемся меню иногда есть только один ответ / параметр, и если я пытаюсь выбрать этот параметр, jquery не активирует $ ("# any")Событие .change (), потому что у меня есть только одна опция, как мне ее обработать?
http://imageshack.us/photo/my-images/20/sinttulolp.jpg/
например, для этого мне нужны данные красного круга для заполнения синего круга, но у красного круга есть только одна опция, и если я нажму, ничего не произойдет
код:
$ (документ) .ready (function () {
$("#tbClave1").autocomplete({
minLength: 1,
source: getClave1,
select: function(event, ui) {
updateClave2(ui.item.value);
}
});
$("#tbClave1").change(function() {
if ($("#tbClave1").val().length == 4) {
updateClave2($("#tbClave1").val());
}
});
$("#ddClave2").change(function() {
updateClave3($("#tbClave1").val(), $("#ddClave2").val());
updateNombre($("#tbClave1").val(), $("#ddClave2").val());
if ($("#ddTipoArticulo").val() == "A" ||
$("#ddTipoArticulo").val() == "B" ||
$("#ddTipoArticulo").val() == "L") {
updatePrecioA($("#tbClave1").val(), $("#ddClave2").val());
} else {
if ($("#ddTipoArticulo").val() == "N" ||
$("#ddTipoArticulo").val() == "H"){
updatePrecioB($("#tbClave1").val());
}
}
});
$("#ddClave3").change(function() {
updateClave4($("#tbClave1").val(), $("#ddClave2").val(), $("#ddClave3").val());
});
});
Редактировать: пример того, как я заполняю один из выпадающих списков
Jquery
функция updateClave2 (cod) {
var dd = document.getElementById("ddClave2");
dd.options.length = 0;
dd.options[0] = new Option("Espere...");
dd.selectedIndex = 0;
dd.disabled = true;
codigo = cod;
tipoArt = $("#ddTipoArticulo").val();
// Control de errores
$("#ddClave2").ajaxError(function(event, request, settings) {
dd.options[0] = new Option("No se Cargaron Datos");
});
// Obtenemos los datos...
$.ajax({
url: '/Home/GetClave2',
dataType: 'json',
data: { words: codigo, tipoArticulo: tipoArt },
success: function(data, textStatus, jqXHR) {
$.each(data, function(i, item) {
dd.options[i] = new Option(item["clave2"], item["clave2"]);
});
dd.disabled = false;
}
});
}
Контроллер
публичный ActionResult GetClave2 (строкаслова, строка tipoArticulo) {Список mySource = miConexion.Clave2 (имя пользователя, пароль, слова, tipoArticulo);вернуть Json (mySource);}