Jqgrid-Search对话框 - 如何本地化groupOps文本值“AND”和“OR”

时间:2011-08-09 01:10:25

标签: jqgrid

我有一个jqgrid,我启用了多次搜索,我想将“AND”和“OR”组操作文本更改为我母语中的相应值。

我想改变

  • 与VE
  • 或与VEYA

这是我的代码:

    jQuery("#kontrollist").jqGrid('navGrid', '#controllistpager',
      {
        edit: true,
        add: true,
        del : true,
        search: true
      },
      { top: 10, left: 300, jqModal: false, closeOnEscape: true }, // edit options
      {top: 10, left: 300, jqModal: false, closeOnEscape: true, reloadAfterSubmit: true }, // add options
      {top: 100, left: 200, jqModal: false, closeOnEscape: true }, // del options
      // search options
      {
        top: 100, 
        left: 250, 
        jqModal: false, 
        closeOnEscape: true,
        groupOps: [{ op: "AND", text: "all" }, { op: "OR", text: "any"}],
        //showQuery: true,
        multipleSearch: true,
      }, 
      {top: 100, left: 200, jqModal: false, closeOnEscape: true} // view options
    );

我尝试更改“groupOps”的“op”属性,如

groupOps: [{ op: "VE", text: "all" }, { op: "VEYA", text: "any"}],

并且喜欢

groupOps: [{ op: "AND", text: "VE" }, { op: "OR", text: "VEYA"}],

这两个都没有用。 有没有办法改变这些价值观?感谢任何帮助,提前谢谢。

1 个答案:

答案 0 :(得分:1)

这是一个很好的问题!来自我的+1。

当前的jqGrid代码使用与显示的文本相同的值和查询中使用的<select>属性构建相应的value元素。作为一种解决方法,我建议您定义函数updateGroupOpText

var updateGroupOpText = function ($form) {
        $('select.opsel option[value="AND"]', $form[0]).text('My ADD');
        $('select.opsel option[value="OR"]', $form[0]).text('My OR');
        $('select.opsel', $form[0]).trigger('change');
    };

并将其用作onInitializeSearchafterRedraw事件的事件处理程序:

jQuery("#kontrollist").jqGrid('navGrid', '#controllistpager',
    { add: false, edit: false, del: false },
    {}, {}, {},
    { // search options
        multipleSearch: true,
        onInitializeSearch: updateGroupOpText,
        afterRedraw: updateGroupOpText
    }
);

查看相应的演示here,其中显示如下对话框:

enter image description here

您只需将“我的ADD”和“我的OR”更改为您想要的文本。