0

我正在使用 jsbin 上的以下示例(从@oleg 的示例修改的代码)

http://jsbin.com/owitod/18/edit

我有一个 jquery-ui 对话框,它显示了一个下拉框,它模仿其中一列的过滤器下拉框和一个按钮。单击按钮时,警报对话框会显示当前的 jqGrid 过滤器。但是,当我在对话框内的下拉列表中更改下拉选择时,我希望 jqGrid 过滤器也可以更改。

上述演示的示例:

  1. 选择类别运动
  2. 单击显示对话框
  3. 注意运动是预选的
  4. 单击显示过滤器并注意:

    {"groupOp":"AND","rules":[{"field":"Category","op":"eq","data":"sport"}]}

  5. 将对话框中的下拉菜单更改为科学

  6. 此时,当我单击显示过滤器时,我希望收到以下警报

    {"groupOp":"AND","rules":[{"field":"Category","op":"eq","data":"science"}]}

我在代码中尝试了以下内容,但它不起作用:

$("#gs_Category").val($("#mycat").val());  //this doesn't work...

alert(jQuery("#list").jqGrid('getGridParam', 'postData').filters);
4

1 回答 1

0

我认为您遇到的错误是尝试设置所选选项。 gs_Category是一个选择下拉菜单。要更改所选选项,请尝试:

$('#gs_Category').find('option[value="' + $('#mycat').val() + '"]').attr('selected', true);

更新

在设置选定值后添加以下行将导致触发网格的过滤器事件(因为您使用的是本地数据类型)。

$('#gs_Category').trigger('change');
于 2012-11-19T01:54:54.487 回答