【发布时间】:2015-02-02 10:14:05
【问题描述】:
我知道这个问题已经被问过很多次了,而且 Google 中有很多链接。但我运气不好,对我来说没有任何效果。
我有一个Kendo dropdownlist,我正在使用Json 数据填充它。 DB 基于 Order by Name 发送此详细信息。所以dropdownlist 中的Index 是random,但按名称排序。
例如
<select id="ddlNames" data-role="dropdownlist">
<option value="-1">Select Names</option>
<option value="5 ">AAA</option>
<option value="9 ">BBB</option>
<option value="6 ">CCC</option>
<option value="3 ">DDD</option>
<option value="7 ">EEE</option>
<option value="4 ">FFF</option>
<option value="8 ">GGG</option>
<option value="1 ">HHH</option>
<option value="2 ">III</option>
</select>
点击button,我必须更改此dropdownlist 的Index。
$.ajax({
url: "Test.aspx/DDL_List",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
var results = jQuery.parseJSON(data.d);
var appenddata = "<option value = '-1'> Select Names </option>";
$.each(results.Table, function (i, value) {
appenddata += "<option value = '" + value.NameID + " '>" + value.Name + " </option>";
});
$('#ddlNames').html('');
$('#ddlNames').html(appenddata);
$('#ddlNames').kendoDropDownList();
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
点击按钮时,我使用下面的代码来设置Kendo dropdownlist 的Index。
问题:如果是result[0].NameID =1,它正在设置列表顶部的名称,即AAA,但不是基于Index应该是 HHH 。我尝试了Value 和Select
var ddlNames= $("#ddlNames").data("kendoDropDownList");
if (result[0].NameID != null) {
var iNameID = parseInt(result[0].NameID);
ddlNames.value(iNameID);
//ddlNames.select(iNameID);
}
else {
ddlNames.value(-1);
}
请指导。
【问题讨论】:
-
在添加到下拉列表之前需要订购列表吗?
-
我不需要订购清单。我在这里尝试设置
ddlNames的索引。 -
如果这令人困惑,我已经编辑了问题陈述。
-
为什么不使用下拉列表的数据源属性?
标签: jquery kendo-dropdown