33

Kendo UI コントロールを使用しています。jqueryでドロップダウンリストの選択テキストを取得したいです。私はこの構文を使用しました:

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

IE を除くすべてのブラウザでテキストを取得できます。これがIEで機能しない理由がわかりません。助けてください。選択した Text を取得する他の方法はありますか?

4

8 に答える 8

47

DropDownList のテキスト値を取得するには、次のようにコマンドを使用します。

$("#ddl").data("kendoDropDownList").text();
于 2014-02-06T12:07:31.743 に答える
5

DropDownList の場合、DisplayText と Value を含めます。DisplayText はユーザーが選択するものであり、Value はバックエンドで使用されるものです。

例: 連絡先情報を格納するデータベースがあり、DisplayText は連絡先名になり、Value はデータベース内の特定の行の主キー ID フィールドになります。

ID - 1 名前 - ジョン・スミス

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

これが私が探していたものです。これがあなたも探していた答えであることを願っています。

于 2014-08-20T14:23:07.937 に答える
4

select イベントでドロップダウンリストから値を選択すると、選択した値は次のように使用できます。

@(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
}

これが誰かを助けると信じています。

ありがとう

于 2015-07-16T11:40:55.740 に答える
2

ここにフィドルがあります。

<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>
于 2014-07-21T14:41:21.200 に答える
1

このように試すことができます

 var ddl= $("#ddl").data("kendoDropDownList").dataItem($("#ddl").data("kendoDropDownList").select()).FieldName;
//FieldName is the text field of DataSource ---  .DataTextField("FieldName")
于 2014-02-06T11:33:14.957 に答える
1

別の方法は次のとおりです。

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);
    }
});
于 2015-12-21T21:10:33.340 に答える