0

filterToolbarで選択した値に基づいてグリッドをフィルタリングしたい。

これは私のグリッドです

<sjg:gridColumn name="assigned_to"   index="assigned_user" key="assigned_user" title="Assigned To"   
            sortable="false"
            searchtype="select"
            searchoptions="{defaultSearch:'cn', dataUrl : '%{fillUser}', 
                           dataEvents: [{ type: 'change' fn: function(elem) { myfunction(elem)}}]}"/>

だから問題は

1: dataEventsを使用して起動される関数myfunction(elem)のドロップダウン リストから選択された値を取得する方法。

2:このdataEventsオプションのelemは何ですか?

4

1 に答える 1

1

パラメータはjQuery Event objectであるため、通常は関数のパラメータの名前eventまたは名前eとして使用します。select の DOM 要素となる場合に最も重要なそのプロパティ(こちらを参照)。したがって、selectedIndexおよびoptionsプロパティを使用して、選択したオプションに関する情報を取得できます。fntarget

fn: function (e) {
    var selectDOM = e.target,
        selectedOptionDOM = selectDOM.options[selectDOM.selectedIndex];

    alert("selected option has\n" +
        "text=" + selectedOptionDOM.text +
        "\nvalue=" + selectedOptionDOM.value);
}

または、jQuery を使用して選択したオプションを取得することもできます。$(e.target).val()選択したオプションの値を提供し、$(e.target).find(":selected").text()そのテキストを提供します。

fn: function (e) {
    var $select = $(e.target);

    alert("selected option has\n" +
        "text=" + $select.find(":selected").text() +
        "\nvalue=" + $select.val());
}
于 2013-02-23T15:58:52.793 に答える