如何在Kendo UI jQuery中获取下拉列表的选定文本?

时间:2019-06-22 01:54:53

标签: javascript jquery kendo-ui

我正在使用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的值(等于所选下拉列表的文本标签,而不是所选下拉列表的值),但仍然允许用户编辑。该怎么做?

1 个答案:

答案 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());
 };
});

让我知道是否有任何不正确的地方。