2012-09-24 51 views
1

我想實現在jgrid複雜的搜索功能。但是我想在用戶按下查找按鈕之前更改用戶在搜索框中指定的值。變化前值找到

enter image description here

  1. 在這裏你可以看到的值17 20 35 36 37 53 54,我想那些 值逗號saperated所以之前我打找我要改變文本框的 值,所以誰能告訴我怎麼能我那樣做?

  2. 多了,我想知道我怎麼能自定義此 搜索框的外觀forexample代替idis in我想要一些用戶 友好的用戶界面中,用戶可以簡單的把值和命中發現, 但我不知道如何改變這個搜索框的外觀在注入 我們自己的外觀和搜索框的非dragable

回答

1

我建議你閱讀the answer在哪裏展示瞭如何根據需要實現更復雜的用戶輸入更改。

在搜索對話框的情況下,你可以使用onSearch回調以同樣的方式就像一個使用beforeSearchtoolbar searching

的主要思想是一個可以相對於getGridParam方法得到的jqGrid的內部postData參數的參考。該postDatafilters物業代表序列化爲JSON字符串(見the documentation的詳細信息)的過濾器。所以,你可以轉換postData.filters(使用$.parseJSON)修改爲對象,如果你就像需要,轉換回JSON字符串(透過JSON.stringify),結果放回postData.filters。如果您執行onSearchbeforeSearch回調中的所有更改,則將使用修改後的過濾器。

+0

感謝@Oleg,幫助 – Hunt

+0

@Hunt方面一個很好的解決方案訪問:您受歡迎的! – Oleg

+0

可以請你對問題的第二點一目瞭然? – Hunt

2

您可以使用split()將它拆分對空間的數組,然後.join()數組再次使用逗號作爲分隔符(無論如何)。

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

DEMO:http://jsfiddle.net/mJaqm/

+0

我不想做一個答案基本上覆制你只是因爲你沒有在模糊函數包裹。你可以把它放在模糊的功能,所以我可以upvote? – Ohgodwhy

+0

@Ohgodwhy - 完成,但您可以編輯它,我也不會介意;-) – ahren

+0

如何將我知道哪個文本框我應該使用的onblur可能有更多的文本框和它的jqGrid – Hunt

0

您可以添加此到onBlur事件的文本框,當光標被帶走的時候觸發:

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

我怎麼會知道哪個文本框我應該使用onblur可以有更多的文本框和它的jqgrid – Hunt

+0

做一件事,在螢火蟲,嘗試獲得'ID'並使用這種方式! –

+0

那麼所有的ID管理和通過的jqGrid動態分配的,他們可能會更改,因此不可能 – Hunt