【问题标题】:How to get selected values from drop-down list in filterToolbar using jquery如何使用jquery从filterToolbar的下拉列表中获取选定的值
【发布时间】:2026-02-15 02:10:02
【问题描述】:

我想根据 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是什么?

【问题讨论】:

    标签: javascript jquery jqgrid struts2-jquery


    【解决方案1】:

    通常使用名称evente 作为fn 函数的参数名称,因为参数是jQuery Event object。最重要的属性是 target,它将是 select 的 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());
    }
    

    【讨论】:

    • @arvin_codeHunk:不客气!很高兴能帮到你。
    • 请检查这个问题也*.com/questions/15068668/how-to-load-json-in-jqgrid,我被困在这里
    • @arvin_codeHunk:我只能重复你最好使用reloadGrid 而不是手动调用$.ajax。您可以在触发reloadGrid 之前使用setGridParam 更改urlpostData
    最近更新 更多