Подтвердить что ты не робот

Как получить раскрывающийся список выбранного текста в пользовательском интерфейсе Kendo?

Я использую Kendo UI Controls. Я хочу получить выделенный текст выпадающего списка в jquery. Я использовал этот синтаксис:

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

Я могу получить текст во всех браузерах, кроме IE. Я не знаю, почему это не работает в IE, пожалуйста, помогите мне. Есть ли другой способ получить выделенный текст?

4b9b3361

Ответ 1

Чтобы получить текстовое значение команды DropDownList, выполните следующие действия:

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

Ответ 2

В DropDownLists вы включаете DisplayText и значение. DisplayText - это то, что пользователь выбирает, а значение - это то, что используется в фоновом контенте.

Пример. У вас есть база данных, в которой хранятся контактные данные, и ваш DisplayText будет именем контактов, а значение будет полем первичных ключей для этой конкретной строки в базе данных.

ID - 1 Имя - Джон Смит

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

Это то, что я хотел сделать, я надеюсь, что это тот ответ, который вы также искали.

Ответ 3

Вот 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>

Ответ 4

Вы можете попробовать как это

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

Ответ 5

Здесь другой способ:

e.item[0].textContent

Полный пример:

$("#ancillaryTestDDL").kendoDropDownList({
    dataSource: that.viewModel.ancillaryTestDS,
    dataTextField: "DisplayValue",
    dataValueField: "Id",
    select: function (e) {
        console.log(e.item);
        console.log(e.item[0].textContent);
    }
});

Ответ 6

Когда значение выбирается из списка 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
}

Я считаю, что это поможет кому-то.

Спасибо

Ответ 7

Я согласен с д.поповым, ваш вопрос, похоже, является ответом. размещение вашего заявления в функции предупреждения выводит выделенный текст:

Сигнал ($ ( "# DDL" ) данных ( "kendoDropDownList" ) текст().).

Протестировано в IE11. Фактическая версия IE, связанная с проблемой, никогда не упоминалась...