如何在Kendo UI中获取Dropdown的Selected Item的文本?

时间:2014-02-06 10:56:36

标签: asp.net kendo-ui dropdownbox kendo-dropdown

我正在使用Kendo UI Controls。我想在jquery中获取下拉列表的选定文本。我使用了这种语法:

 $("#ddl").data("kendoDropDownList").text();

我可以在IE以外的所有浏览器中获取文本。我不知道为什么这不适用于IE,请帮帮我。有没有其他方法可以选择文本?

8 个答案:

答案 0 :(得分:39)

为了获取DropDownList使用命令的文本值,如下所示:

$("#ddl").data("kendoDropDownList").text();

答案 1 :(得分:5)

对于DropDownLists,您包含DisplayText和Value。 DisplayText是用户选择的,而Value是后端使用的值。

示例:您有一个存储联系人信息的数据库,您的DisplayText将是Contacts Name,而Value将是数据库中该特定行的Primary Keys ID字段。

ID - 1 姓名 - 约翰史密斯

$("#ddl").data("kendoDropDownList").dataItem().DisplayText = John Smith
$("#ddl").data("kendoDropDownList").dataItem().Value = 1

这就是我想做的事情,我希望这也是你一直在寻找的答案。

答案 2 :(得分:2)

这是fiddle有人想试试

<select id="testDrpDown">
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
    <option value="1231231">and so on</option>
</select>
</br>
</br>
<button onclick="MethOne()">Method one</button>
</br>
</br>
<button onclick="Methtwo()">Method one</button>

<script>
$("#testDrpDown").kendoDropDownList();

//var can be used anuwhere in js
var dropdown = $("#testDrpDown").data("kendoDropDownList");

function MethOne() {
    alert($("#testDrpDown").data("kendoDropDownList").text());
}

function Methtwo() {
    alert(dropdown.text());
}
</script>

答案 3 :(得分:1)

您可以尝试这样

 var ddl= $("#ddl").data("kendoDropDownList").dataItem($("#ddl").data("kendoDropDownList").select()).FieldName;
//FieldName is the text field of DataSource ---  .DataTextField("FieldName")

答案 4 :(得分:1)

当从select事件中的Dropdownlist中选择一个值时,所选值可用如下,

@(Html.Kendo().DropDownList()
              .Name("booksDropDown")
              .HtmlAttributes(new { style = "width:37%" })
              .DataTextField("BookName")
              .DataValueField("BookId")
              .Events(x => x.Select("onSelectBookValue"))
              .DataSource(datasource => datasource.Read(action => action.Action("ReadBookDropDow", "PlanningBook").Type(HttpVerbs.Get)))
              .OptionLabel("Select"))

Javascript函数如下,

  function onSelectBookValue(e) {    

                var dataItem = this.dataItem(e.item.index());
                var bookId = dataItem.BookId; // value of the dropdown
                var bookName = dataItem.BookName; // text of the dropdown
               //other user code
}

我相信这会对某人有所帮助。

由于

答案 5 :(得分:1)

这是另一种方式:

foo = SomeActiveRecordModel.where(bar: 10).first&.foo || ""

完整示例:

e.item[0].textContent

答案 6 :(得分:0)

我同意d.popov,你的问题似乎确实是答案。将您的语句置于警报功能中会弹出所选文本:

警报($( “#DDL”)的数据( “kendoDropDownList”)文本());

在IE11中测试过。从未提及与该问题相关的实际IE版本......

答案 7 :(得分:0)

$("#YourDrpDownId").data("kendoDropDownList").value();