0

カスケード ドロップダウン リストのビューがあります (正確には 3 つ)。

2番目と3番目は、前のオプションが選択されてjqueryが起動するまで無効になります。

これはすべて、新鮮な状態でうまく機能します。値を事前に設定して渡すときに、この同じビューを使用したいと思います。ドロップダウンの値を正しく設定できるため、これをある程度実装しましたが、2番目と3番目のドロップダウンは無効になっているため(初期状態であるため)、投稿時にフォームフィールドの値を渡しません。

この種のシナリオをうまく実装した人はいますか? ドロップダウンの状態を有効にするために何が欠けていますか?

リストから無効なオプションを削除する方法が必要です(各ドロップダウンで新鮮で選択されたときのように)

ありがとう。

4

2 に答える 2

1

これを試して:

$(function(){
  if($("#DroprDownListID1").val() != "-SELECT-")
  {
    $("#DroprDownListID2").removeAttr("disabled");
  }
});
于 2012-12-19T04:52:29.370 に答える
1

以下の方法を試して、条件に基づいてカスケード ドロップダウンでいくつかの値を有効または無効にしました。お役に立てるかどうかご確認ください。

[脚本]

       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);
                            }
                        });
                    }
                });
            });

}
于 2012-12-19T05:04:04.270 に答える