2

私は剣道モバイルを使用してアプリケーションを開発していますが、以前は剣道のWebで行ったのと同じアプリケーションですが、正常に動作します。主な問題は、アプリケーションが実行すると、「Microsoft JScriptランタイムエラー:オブジェクトはプロパティまたはメソッド'append'をサポートしていません」のようなエラーが表示されます。

HTMLで

<div id="forms" data-role="view" data-title="Form Elements" data-init="initForm">
    <table>
        <tr>
            <td>
                <label style="margin-left: 20px">
                    Company:</label>
            </td>
            <td>
                <select id="ddlCompany" style="width: 200px">
                    <option>Select Company</option>
                </select>
            </td>
            <td class="style1">
                <label style="margin-left: 20px">
                    Category:</label>
            </td>
            <td>
                <select id="ddlCategory" style="width: 200px">
                    <option>Select Category</option>
                </select>
            </td>
            <td>
                <label style="margin-left: 20px">
                   Product :</label>
            </td>
            <td>
                <select id="ddlProduct" style="width: 200px">
                    <option>Select Product</option>
                </select>
            </td>
        </tr>
    </table>
</div>

   function initForm() {
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "FlashReportMobileWebService.asmx/GetCompany",
            dataType: "json",
            success: function (data) {
                for (i = 0; i < data.d.length; i++) {
                    ddlCompany.append($("<option></option>").val(data.d[i].Company).html(data.d[i].Company));
                };


                $("#ddlCompany").kendoDropDownList();
            }
        });
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "FlashReportMobileWebService.asmx/ToCategoryDropDown",
            dataType: "json",
            success: function (data) {
                for (i = 0; i < data.d.length; i++) {
                    ddlCategory.append($("<option></option>").val(data.d[i].Category).html(data.d[i].Category));

                };
                $("#ddlCategory").kendoDropDownList();
            },
            failure: function (msg) {
                alert(msg);
            }
        });
    }
    $("#ddlCategory").change(
        function (e) {
            var ddlProduct= $("#ddlProduct");  
            var dataItem = $("#ddlCategory").val();  
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                data: "{'Category':'" + dataItem + "'}",
                url: "FlashReportWebService.asmx/ToFillProductDropDown",
                dataType: "json",
                success: function (data) {
                    ddlProduct.empty();
                    for (i = 0; i < data.d.length; i++) {
                        ddlProduct.append($("<option></option>").val(data.d[i].ProductName).html(data.d[i].ProductName));
                    };
                    $("#ddlProduct").kendoDropDownList();
                },
                failure: function (msg) {
                    alert(msg);
                }
            });
        });

    var app = new kendo.mobile.Application(document.body);

これを読んでくれてありがとう

4

1 に答える 1

3
$.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "FlashReportMobileWebService.asmx/GetCompany",
        dataType: "json",
        success: function (data) {
            var dataSource = [];
            for (i = 0; i < data.d.length; i++) {                    
                ddlCompany.push({ "Company": data.d[i].Company})
            };
            $("#ddlCompany").kendoDropDownList({
                dataTextField: "Company",
                dataSource: dataSource
            });
        }
    });

ddlCompany.Valuesに値を追加する代わりに、上記のコードを記述します。

于 2012-12-27T06:58:12.563 に答える