2012-12-20 35 views
2

我已经使用下面的代码我被完全结合仅用于第一次尝试中,当我试图选择另一个“类别”,但产品不是表示“产品下拉列表”并且还获得disabled.But我一直破发点从网络服务中的数据来,但它没有刷新数据选择的值表示[对象对象]在剑道移动

在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> 

回答

2

尝试指定dataValueField以及:

 $("#ddlCategory").kendoDropDownList({ 
      dataTextField: "CategoryName", 
      dataValueField: "CategoryName", 
      dataSource: dataSource, 
      change: ChangeWeek 
     }); 
+0

感谢您的答复,我试图使用dataValueField它会引发错误“Microsoft JScript运行时错误:对象不支持属性或方法”。有没有其他的选择可以从kendo mobile的dropdownlist中获取选定的值。 –

+0

你设定了什么?它应该设置为“CategoryName”和“ProductsName”。 –

+1

我实现它如下变种ddlcategory = $( “#ddlCategory”)的数据( “kendoDropDownList”); var dataItem = ddlcategory.text(); –