我遇到的是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 :(得分:2)
这不正确。 jqGrid根本不对选项进行排序。如果对value
属性使用对象,则仍可能对选择选项的顺序有问题。 The answer描述了表单改变选项顺序的原因。有趣的是,订单取决于您使用的浏览器。要解决此问题,您可以使用字符串形式的value
属性,也可以使用dataUrl
。
更新:就像我怀疑您使用了value
的对象格式,因此您遇到the answer中描述的问题。您应该将cities
从对象更改为"15604:First labele;9563:Second label;...;12345:Last label"
等字符串。
我建议你另外考虑使用jQuery UI Autocomplete而不是<select>
。