2

次のコードを使用してみましたが、別の「カテゴリ」を選択しようとしたときに、製品が「製品ドロップダウンリスト」に表示されず、無効になっている場合にのみ、初めて完全にバインドしました。 Webサービスからのデータが来ているが、データが更新されていないことを示します

HTMLで

 <body>
<select id="ddlCategory" style="width: 300px">
    <option>---Select---</option>
</select>
<select id="ddlProduct" style="width: 300px">
</select>
<script type="text/javascript">
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "WebService.asmx/GetCategory",
        dataType: "json",
        success: function (data) {
            var dataSource = [];
            for (i = 0; i < data.d.length; i++) {
                dataSource.push({ "category": data.d[i].category })
            };
            $("#ddlddlCategory").kendoDropDownList({
                dataTextField: "category",
                dataValueField: "category",
                dataSource: dataSource,
                change: ChangeWeek
            });
        },
        failure: function (msg) {
            alert(msg);
        }
    });

    //$("#ddlProduct").kendoDropDownList();      
    function ChangeWeek(e) {
        //var ddlProduct = $("#ddlProduct");
        var ddlCategory = $("#ddlCategory").data("kendoDropDownList");
        var dataItem = ddlCategory.text();
        $.ajax({
            type: "POST",
            url: "WebService.asmx/GetProduct",
            data: "{'Category':'" + dataItem + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            async: true,
            success: function (data) {
                debugger
                //$("#ddlProduct").empty();
                var dataSource = [];
                for (i = 0; i < data.d.length; i++) {
                    dataSource.push({ "product": data.d[i].product })
                };
                $("#ddlProduct").kendoDropDownList({
                    dataTextField: "product",
                    dataValueField: "product",
                    dataSource: dataSource,
                    //  isVisible: true
                });
            },
            failure: function (msg) {
                alert(msg);
            }
        });
    }
    var app = new kendo.mobile.Application();
</script>

4

1 に答える 1

2

dataValueField同様に指定してみてください:

        $("#ddlCategory").kendoDropDownList({
            dataTextField: "CategoryName",
            dataValueField: "CategoryName",
            dataSource: dataSource,
            change: ChangeWeek
        });
于 2012-12-20T19:13:30.190 に答える