2013-07-11 86 views
1

我正在經歷的是,jQGrid按照它的值對選擇選項進行排序,而我找不到一種方法使它按標籤排序。按標籤排序jQGrid的選擇選項不是值

的選項本地加載:

var cities = { 
    "15604":"Akashi", 
    "7538":"lompolo", 
    "13488":"Akersloot", 
    "15516":"Akita", 
    "17301":"Akizuki", 
    "15848":"Akola", 
    "11415":"Akron", 
    "15224":"Akron", 
    "7458":"Akrotiri", 
    "10783":"Aksaray", 
    "15127":"Aksu", 
    "9563":"Aktobe" 
}; 

但選項似乎是這樣的:

<option role="option" value="7458">Akrotiri</option> 
<option role="option" value="7538">lompolo</option> 
<option role="option" value="9563">Aktobe</option> 
<option role="option" value="10783">Aksaray</option> 
<option role="option" value="11415">Akron</option> 
<option role="option" value="13488">Akersloot</option> 
<option role="option" value="15127">Aksu</option> 
<option role="option" value="15224">Akron</option> 
<option role="option" value="15516">Akita</option> 
<option role="option" value="15604">Akashi</option> 
<option role="option" value="15848">Akola</option> 
<option role="option" value="17301">Akizuki</option> 

而這正是我用它的部分:

//other colModels, 
{ 
    "name":"city_id", 
    "index":"city", 
    "width":"100", 
    "editable":true, 
    "align":"center", 
    "edittype":"select", 
    "formatter":"select", 
    "editoptions":{"value":cities}, 
    "stype":"select", 
    "searchoptions":{ 
     "sopt":["eq","ne"], 
     "value":cities} 
} 
//other colModels 

哪有當添加或編輯記錄時,我將選擇選項按其標籤排序,而不是按其值進行排序?

+0

對不起,但代碼顯示瞭如何在jqGrid中使用'select'? – Oleg

+0

那裏,當我問我沒有包括它的道歉:) – macinville

回答

2

這是不正確的。 jqGrid根本不排序選擇選項。如果您使用value屬性的對象,則您仍然可能遇到選擇選項的順序問題。 The answer描述了爲什麼表單可以按照改變選項的順序。有趣的是,順序取決於您使用的瀏覽器。要解決此問題,您可以使用value屬性的字符串形式,也可以使用dataUrl

修訂:就像我懷疑你用的value所以你必須在the answer描述的問題對象格式。您應該將cities從對象更改爲像"15604:First labele;9563:Second label;...;12345:Last label"這樣的字符串。

我建議你另外考慮使用jQuery UI Autocomplete而不是<select>

+0

嗯,我實際上嘗試使用dataUrl,事情是選項真的17000+記錄(我只用10記錄只是爲了顯示一個例子),所以它需要近5在添加/編輯表單顯示下拉菜單之前幾秒,所以我決定在本地加載它,以便服務器只需要加載每個頁面,而不是每次觸發添加/編輯/搜索請求。 – macinville

+0

@macinville:載入'dataUrl'的結果可以被緩存。您還可以使用jQuery UI Autocomplete而不是'