【问题标题】:JqGrid Search with multiple text boxes for fieldJqG​​rid 使用多个文本框搜索字段
【发布时间】:2011-02-19 06:19:02
【问题描述】:

我想知道 JqGrid 高级搜索是否可以为我想要搜索的某些字段显示多个文本框。 例如,如果我有一个“电话号码”字段,我希望能够可视化 2 个框,一个用于区号,另一个用于电话号码的其余部分。 然后按“查找”后,我希望能够获取这两个值并将它们合并或做其他事情。

任何帮助将不胜感激,

谢谢,

来自ano2802

【问题讨论】:

    标签: search jqgrid


    【解决方案1】:

    您有一个有趣的问题,但我建议您将电话号码的输入做得更好,更便于用户使用。有一个不错的 jQuery“Masked Input”插件。它允许您在输入字段中显示掩码,例如“(_) _-____”,并且只允许输入数字。要了解我的意思,请打开页面http://digitalbush.com/projects/masked-input-plugin/#demo,将焦点设置到电话字段并尝试输入一些内容。不好看吗!

    要在 JqGrid 高级搜索对话框中执行此操作,您应该执行以下操作

    1. http://digitalbush.com/projects/masked-input-plugin/下载jquery.maskedinput-1.2.2.js或/和jquery.maskedinput-1.2.2.min.js。
    2. 在您的网页中插入此 JavaScript 文件中的一个。
    3. colModel searchoptions 块中添加“电话号码”列的定义,如下所示

      { name: 'PhoneNumber', width: 83, index: 'PhoneNumber', align: 'center', 搜索选项:{ 数据初始化:函数(元素){ $(elem).mask("(999) 999-9999"); } } }

    就是这样。现在只需打开“高级搜索对话框”,选择“电话号码”字段并在输入字段中设置焦点。在http://www.trirand.com/jqgridwiki/doku.php?id=wiki:search_config&s[]=datainitahttp://www.trirand.com/jqgridwiki/doku.php?id=wiki:common_rules&s[]=datainit 下的jqGrid 文档中描述了函数dataInit

    顺便说一句,您可以在数据编辑(表单编辑和内联编辑)期间接收相同的屏蔽输入。只需定义相同的editoption 就像searchoptions:

    { name: 'PhoneNumber', width: 83, index: 'PhoneNumber', align: 'center',
      editoptions: {
        dataInit: function (elem) {
          $(elem).mask("(999) 999-9999");
        }
      },
      searchoptions: {
        dataInit: function (elem) {
          $(elem).mask("(999) 999-9999");
        }
      }
    }
    

    【讨论】:

    • 谢谢,它成功了,但现在我遇到了另一个问题。如果我想在另一个字段上使用 jquery 掩码,它不会让我这样做。掩码仅适用于我定义的第一个字段,但不会显示在以下字段中,我什至无法输入任何内容。焦点仍被“困”在第一个字段中。
    • 你是对的!似乎 jquery.searchFilter.jsmultipleSearch: true 的情况下存在错误。拥有多个编辑字段没有问题。不幸的是,由于我的主要项目缺乏时间,我现在无法投入更多时间进行大量调查。我会在 2-3 周内回到这个问题。我只能建议您尝试将此问题作为错误放在 jqGrid 论坛 (trirand.com/blog/?page_id=393) 或尝试使用其他插件而不是“Masked Input”插件。抱歉,我决定把这些信息写给你,这样你就不用在接下来的几天里等待我的快速解决方案了。
    • 嗨奥列格,谢谢你的回答。我已经尝试过其他插件,但没有一个更接近“蒙面输入”。 Masked Input 允许您显示掩码,而其他人在您书写时应用掩码。如果您有任何其他建议,请告诉我。
    • 尝试将此问题作为错误放在 jqGrid 论坛 (trirand.com/blog/?page_id=393) 中。 Tony(jqGrid 的开发人员)在错误修复方面非常小心。只是表明,可以在jqGrid的“内联编辑”和“表单编辑”中使用“屏蔽输入”插件没有任何问题。所以我们在 ** *jquery.searchFilter.js 中有一个 *bug,并且仅在多重搜索(“高级搜索”)的情况下。还发布一个小代码和如何重现问题的确切描述。我认为 Tony 会很快找到 bug 并在 jqGrid 的 SearchFilter 插件中修复它。
    • 我刚刚在他们论坛的 JqGrid 错误部分创建了一个新帖子。希望他们能迅速修复它。感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    相关资源
    最近更新 更多