我正在使用Kendo UI jQuery版本2019.2.514
。我有代码片段
<input id="skuCode" name="skuCode" style="width: 100%;"/>
<input id="productName" name="productName" style="width: 100%;"/>
<script>
$(document).ready(function () {
var data = new kendo.data.DataSource({
transport: {
read: {
url: "/sku_json",
dataType: "json"
}
},
pageSize: 30
});
// create DropDownList from input HTML element
$("#skuCode").kendoDropDownList({
dataTextField: "text",
dataValueField: "value",
dataSource: data,
filter: "contains",
index: 0,
change: onChange
});
});
// Set selected text value of Drop-down list --> value of input productName.
function onChange() {
// document.getElementById("productName").value = document.getElementById("skuCode").value; // Return selected value of drop-down list
// document.getElementById("productName").value = document.getElementById("accountObjectCode").text; // I try something like this, but not work.
}
</script>
网页有2个输入:skuCode
是一个下拉列表。 productName
是输入文本框。当skuCode
发生事件onChange
时,我想自动设置文本框productName
的值(等于所选下拉列表的文本标签,而不是所选下拉列表的值),但仍然允许用户编辑。该怎么做?
答案 0 :(得分:1)
您可以借助以下方法进行操作。
Value方法:获取或设置DropDownList的值。 text方法:获取或设置DropDownList的文本。
这里是示例:
<input id="skuCode" name="skuCode" style="width: 100%;"/>
<input id="productName" name="productName" style="width: 100%;"/>
<script> $(document).ready(function() {
$("#productName").kendoDropDownList({
dataSource: [
{ id: 1, name: "Apples" },
{ id: 2, name: "Oranges" }
],
dataTextField: "name",
dataValueField: "id",
change: onChange
});
function onChange(e) {
// You can do with this also
// $("#skuCode").val($("#productName").data("kendoDropDownList").text());
$("#skuCode").val(e.sender.text());
};
});
让我知道是否有任何不正确的地方。