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

一种通常使用名称evente作为fn函数参数的名称,因为该参数是jQuery 事件对象。最重要的属性target是 select 的 DOM 元素(参见此处)。因此,您可以使用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());
}
于 2013-02-23T15:58:52.793 回答