如何使用jquery从filterToolbar的下拉列表中获取选定的值

时间:2013-02-23 12:13:52

标签: javascript jquery jqgrid struts2-jquery

我想根据 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:如何从功能 myfunction(elem)的下拉列表中获取所选值,这是使用 dataEvents 触发的。

2: dataEvents 选项中的 elem 是什么?

1 个答案:

答案 0 :(得分:1)

一个人通常使用名称evente作为fn函数参数的名称,因为参数为jQuery Event object。如果target是选择的DOM元素,则最重要的是它的属性(参见here)。因此,您可以使用selectedIndexoptions属性来获取有关所选选项的信息:​​

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());
}