0

Kendo AutoComplete コントロールがあるかみそりのページがあり、その変更イベントで次の 2 つを取得する必要があります。

  1. その剣道オートコンプリート コントロールの ID
  2. 最も近いテキスト ボックス ID

これら 2 つのコントロールのクローンが作成されるためです。

ここに私のコードがあります:

function autocomplete_select(e) {
      var dataItem = this.dataItem(e.item.index());
      var txtbx = $(this).closest("input[type='text']");
      alert("Name==" + txtbx.attr('name'));
      alert("ID==" + txtbx.attr('id'));
      var tmp = $(this).closest("div.mf_form_field").find("input[type='text']").attr('id');
      alert(tmp);
      }

@(Html.Kendo().AutoComplete()
 .Name("ACDD")
 .BindTo((IEnumerable<String>)strActionCodes)
 .Events(e => e.Select("autocomplete_select")))
  </div>
<div>@Html.Label("Action Value")</div>
<div>@Html.TextBox("Value",null, new { style = "width : 105px"})</div>

ここでは、テキスト ボックスの ID を返すアラートはなく、剣道オートコンプリートの名前/ID を取得できません。

4

1 に答える 1

1

オートコンプリートの ID は次のように取得されます。

function onChange(e){
    alert(this.element.attr('id'))
}

テキストボックスに最も近いもの(あなたの場合は最も近いものではありませんが、次のものです-これら2つの違いについてはjQueryのドキュメントを確認してください)は、このように取得できます。

function onChange(e){
    alert(this.wrapper.next('input[type="text"]').attr('id'))
}
于 2013-01-02T23:51:56.703 に答える