Представление ASP.NET MVC3 с каскадными раскрывающимися списками со вторым и третьим элементами управления отключены до тех пор, пока не будет выбран предыдущий

У меня есть представление с каскадными выпадающими списками (3, если быть точным)

2-й и 3-й отключены до тех пор, пока не будет выбрана предыдущая опция и для нее не сработает jquery.

Все это прекрасно работает в свежем виде. Я хотел бы использовать это же представление, когда у меня есть предварительно заданные значения для передачи ему. Я реализовал это в некоторой степени, так как я могу правильно установить значения в раскрывающихся списках, однако 2-й и 3-й раскрывающиеся списки отключены (поскольку это начальное состояние) и, следовательно, не передают значения полей формы при публикации.

Есть ли кто-нибудь, кто успешно реализовал такой сценарий? Что мне не хватает, чтобы выпадающие списки были включены?

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

Спасибо.


person DavieDave    schedule 19.12.2012    source источник
comment
Небольшой код был бы полезен. Покажите нам, что вы сделали до сих пор.   -  person U.P    schedule 19.12.2012


Ответы (2)


Попробуй это:

$(function(){
  if($("#DroprDownListID1").val() != "-SELECT-")
  {
    $("#DroprDownListID2").removeAttr("disabled");
  }
});
person Kapil Khandelwal    schedule 19.12.2012

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

[Скрипт]

       function SetdropDownData(sender, args) {           
            $('#ShipCity').attr('disabled', 'disabled')
            $('#ShipCountry').live('change', function () {
                $.ajax({
                    type: 'POST',
                    url: 'Home/GetCities',
                    data: { Country: $('#ShipCountry').val() },
                    dataType: 'json',
                    success: function (data) {
                        $('#ShipCity option').remove();
                        $.each(data, function (index, val) {
                            if ($('#ShipCountry').val() == "Germany") {
                                $('#ShipCity').removeAttr('disabled')
                                var optionTag = $('<option></option>');
                                $(optionTag).val(val.Value).text(val.Text);
                                $('#ShipCity').append(optionTag);
                            }
                            else {
                                var optionTag = $('<option></option>');
                                $(optionTag).val(val.Value).text(val.Text);
                                $('#ShipCity').append(optionTag);
                            }
                        });
                    }
                });
            });

}
person RGR    schedule 19.12.2012