javascript – Grid中的Kendo DropDownList在选择后显示值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Grid中的Kendo DropDownList在选择后显示值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1889字,纯文字阅读大概需要3分钟。
内容图文
![javascript – Grid中的Kendo DropDownList在选择后显示值](/upload/InfoBanner/zyjiaocheng/804/1ce314d8b2994ce18ca84060862467ff.jpg)
我正在尝试在网格中使用下拉列表.这是我的网格定义:
$("#grid").kendoGrid({
editable: true,
dataSource: {
data: data,
schema: {
model: {
fields: {
Name: {
type: "string",
editable: false
},
FruitName: {
type: "string"
},
FruitID: {
type: "number"
}
}
}
}
},
columns: [{
field: "Name",
title: "Name",
width: 150
}, {
field: "Fruit",
title: "Fruit",
width: 115,
editor: renderDropDown,
template: "#=FruitName#"
}]
});
这是我的编辑功能:
function renderDropDown(container, options) {
var dataSource = [
//{ name: "", id: null },
{
FruitName: "Apple",
FruitID: 1
}, {
FruitName: "Orange",
FruitID: 2
}, {
FruitName: "Peaches",
FruitID: 3
}, {
FruitName: "Pears",
FruitID: 4
}];
$('<input required name="' + options.field + '"/>')
.appendTo(container)
.kendoDropDownList({
dataTextField: "FruitName",
dataValueField: "FruitID",
dataSource: dataSource
});
}
这是一个关于JSBin的演示,用于说明:http://jsbin.com/malev/3/edit
我的问题是两部分.
>为什么此示例中的下拉列表在编辑之前默认为列中的值?
>为什么文本在选择后切换到值?
解决方法:
看看您的列定义:
{
field: "Fruit",
title: "Fruit",
width: 115,
editor: renderDropDown,
template: "#=FruitName#"
}
您的字段名称是Fruit.在编辑器中,您绑定到此字段名称,但您的架构模型和数据仅具有FruitID属性.这解释了为什么下拉列表没有正确显示初始值.
另一个问题是,如果您需要从编辑器更新模型上的两个属性,则需要手动执行此操作,例如:通过这样设置您的编辑器:
$('<input required name="' + options.field + '"/>')
.appendTo(container)
.kendoDropDownList({
dataTextField: "FruitName",
dataValueField: "FruitID",
dataSource: dataSource,
change: function (e) {
var dataItem = e.sender.dataItem();
options.model.set("FruitName", dataItem.FruitName);
}
});
另一种方法是使用查找函数为您提供给定值的显示文本,例如:
var fruitNames = ["", "Apple", "Orange", "Peaches", "Pears"];
function getFruitName(value) {
return fruitNames[value];
}
然后你可以在你的模板中使用它:
template: "#= getFruitName(FruitID) #"
并且您不需要编辑器中名称和更改处理程序的单独列.
内容总结
以上是互联网集市为您收集整理的javascript – Grid中的Kendo DropDownList在选择后显示值全部内容,希望文章能够帮你解决javascript – Grid中的Kendo DropDownList在选择后显示值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。