按标签而不是按值对jQGrid的选择选项进行排序

时间:2013-07-11 09:29:47

标签: jquery 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

在添加或编辑记录时,如何使选择选项按其标签排序,而不是按其值排序?

1 个答案:

答案 0 :(得分:2)

这不正确。 jqGrid根本不对选项进行排序。如果对value属性使用对象,则仍可能对选择选项的顺序有问题。 The answer描述了表单改变选项顺序的原因。有趣的是,订单取决于您使用的浏览器。要解决此问题,您可以使用字符串形式的value属性,也可以使用dataUrl

更新:就像我怀疑您使用了value的对象格式,因此您遇到the answer中描述的问题。您应该将cities从对象更改为"15604:First labele;9563:Second label;...;12345:Last label"等字符串。

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