0

Asp.Net MVC3 には 2 つのドロップダウンがあります。

  1. コントローラーはカテゴリーのリストを提供し、コントローラーのカテゴリーメソッドへの Jquery Ajax 呼び出しを使用し、ドロップダウンリストにカテゴリーのリストを入力しています。

  2. コントローラはサブカテゴリのリストを提供し、コントローラのサブカテゴリ メソッドへの Jquery Ajax 呼び出しを使用し、ドロップダウン リストにサブカテゴリのリストを入力しています。

jquery を使用して、選択したカテゴリに基づいて su7bcategories を作成するにはどうすればよいですか? 任意の助けをいただければ幸いです。

また、このタスクを実行するための他の代替オプションがあれば提案してください。

4

2 に答える 2

1

onchange イベントをカテゴリに添付し、選択したカテゴリのインデックスをサーバーに送信します。サーバーメソッドは、他のドロップダウンのサブカテゴリを埋める必要があります

于 2012-04-19T16:49:06.863 に答える
0
<table>
    <tr>
        <td>Category
        </td>
        <td>
            <select id="Category"></select>
        </td>
    </tr>
    <tr>
        <td>Subcategory
        </td>
        <td>
            <select id="SubCategory"></select>
        </td>
    </tr>
</table>

<script type="text/javascript">
    $(document).ready(function () {
        $.ajax({
            url: '/ControllerName/GetAllCategory', type: 'Get', dataType: 'json',
            success: function (data) {
                var categoryObj = $('#Category');
                categoryObj.empty();
                $.each(data, function (i, entity) {
                    categoryObj.append('<option value="' + entity.Id + '">' + entity.Name + '</option>');
                });
            }
        });

        $('#Category').change(function () {
            $('#SubCategory').empty();
            if ($(this).val() != null && $(this).val() != 0) {
                $.ajax({
                    url: '/ControllerName/GetAllSubCategory', type: 'Get', dataType: 'json',
                    data: { CategoryId: $(this).val() },
                    success: function (data) {
                        var subCategoryObj = $('#SubCategory');
                        //subCategoryObj.empty();
                        $.each(data, function (i, entity) {
                            subCategoryObj.append('<option value="' + entity.Id + '">' + entity.Name + '</option>');
                        });
                    }
                });
            }
        });
    });
</script>
于 2013-01-04T12:18:32.490 に答える