【问题标题】:change value of textbox in search box before find在查找之前更改搜索框中文本框的值
【发布时间】:2012-09-15 14:02:15
【问题描述】:

我正在尝试在 jgrid 中实现复杂的搜索功能。但我想在用户按下查找按钮之前更改用户在搜索框中指定的值。

  1. 在这里你可以看到值17 20 35 36 37 53 54 我想要那些 值逗号分隔,所以在我点击查找之前我想更改 文本框中的值,所以谁能告诉我该怎么做?

  2. 更多我想知道如何自定义此外观 例如搜索框而不是 idis in 我想要一些用户 友好的用户界面,用户可以在其中简单地输入值并点击查找, 但我不知道如何在注入中更改此搜索框的外观 我们自己的外观并使搜索框不可拖动

【问题讨论】:

    标签: jquery jqgrid jqgrid-php


    【解决方案1】:

    您可以使用split() 将其拆分为空格上的数组,然后再次使用.join() 数组,使用逗号作为分隔符(无论如何都是默认值)。

    $("input[type='text']").blur(function(){
      var value = this.value;
      this.value = value.split(' ').join(',');
    });
    

    演示:http://jsfiddle.net/mJaqm/

    【讨论】:

    • 我不想仅仅因为你没有将它包装在模糊函数中而基本上复制你的答案。你能把它放在模糊函数中,这样我就可以投票了吗?
    • @Ohgodwhy - 完成,但你可以编辑它,我不会介意 ;-)
    • 我怎么知道我应该在哪个文本框上使用 onblur 可能会有更多的文本框及其 jqgrid
    【解决方案2】:

    我建议您阅读the answer,其中我展示了如何根据需要实现更复杂的用户输入更改。

    在搜索对话框的情况下,您可以使用 onSearch 回调,就像使用 beforeSearchtoolbar searching 一样。

    主要思想是可以获取关于getGridParam方法的jqGrid内部postData参数的引用。 postDatafilters 属性表示序列化为 JSON 字符串的过滤器(有关详细信息,请参阅 the documentation)。因此,您可以根据需要将postData.filters 转换为对象(使用$.parseJSON)修改,转换回JSON 字符串(使用JSON.stringify)并将结果放回postData.filters。如果您在onSearchbeforeSearch 回调中进行所有更改,则将使用修改后的过滤器。

    【讨论】:

    • @Hunt:我目前在客户那里。稍后我会尝试在稍后回到酒店时回答这个问题。
    【解决方案3】:

    您可以将此添加到文本框的onBlur 事件中,当光标移开时触发:

    $("#theid").blur(function() {
        value = value.split(' ').join(',');
    });
    

    【讨论】:

    • 我怎么知道我应该在哪个文本框上使用 onblur 可能会有更多的文本框及其 jqgrid
    • 做一件事,在萤火虫中,尝试获取ID并使用这种方式!
    • 所有的 id 都是由 jqgrid 动态管理和分配的,它们可能会被改变所以不可能
    • 好的,在这种情况下,将ID 给父div 或附件。现在将目标定位为$("#theid input[type='text']")。简单吗?
    • 对不起,但你明白我的意思,该 div 中可能有多个文本框,即使我使用输入索引访问,那么它在社交方面也不是一个好的解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多