it-swarm.com.de

Wie erhalte ich den Text des ausgewählten Elements von Dropdown in der Kendo-Benutzeroberfläche?

Ich verwende Kendo UI Controls. Ich möchte den ausgewählten Text der Dropdown-Liste in jquery erhalten. Ich habe diese Syntax verwendet:

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

Ich bin in der Lage, den Text in allen Browsern außer IE zu erhalten. Ich weiß nicht, warum dies im IE nicht funktioniert, bitte helfen Sie mir. Gibt es eine andere Möglichkeit, ausgewählten Text zu erhalten?

29
Ram Singh

Um den Textwert einer DropDownList zu erhalten, verwenden Sie den folgenden Befehl:

$("#ddl").data("kendoDropDownList").text();
43
Dinesh Haraveer

Für DropDownLists geben Sie einen DisplayText und einen Wert an. DisplayText ist das, was der Benutzer auswählt, und der Wert ist das, was im Back-End verwendet wird.

Beispiel: Sie haben eine Datenbank, in der Kontaktinformationen gespeichert sind, und Ihr DisplayText wäre der Name des Kontakts und der Wert das Primärschlüssel-ID-Feld für diese bestimmte Zeile in der Datenbank.

ID - 1 Name - John Smith

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

Ich hoffe, das ist die Antwort, nach der Sie auch gesucht haben.

5
Zach

Hier ist ein Geige ist jemand, der es ausprobieren möchte

<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>
2
karthickj25

Hier ist ein anderer Weg:

e.item[0].textContent

Vollständiges Beispiel:

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

Wenn im Auswahlereignis ein Wert aus einer Dropdown-Liste ausgewählt wird, ist der ausgewählte Wert wie folgt verfügbar:

@(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 funktioniert wie folgt,

  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
}

Ich glaube, das wird jemandem helfen.

Vielen Dank

1
dush88c

Sie können es so versuchen

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

Ich stimme d.popov zu, Ihre Frage scheint die Antwort zu sein. Wenn Sie Ihre Anweisung in eine Warnfunktion einfügen, wird der ausgewählte Text angezeigt:

Alert ($ ("# ddl"). Data ("kendoDropDownList"). Text ());

Getestet in IE11. Die tatsächliche IE Version im Zusammenhang mit dem Problem wurde nie erwähnt ...

0
IUnknown