Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 按标签而不是值对jQGrid的选择选项排序_Jquery_Jqgrid - Fatal编程技术网

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

Jquery 按标签而不是值对jQGrid的选择选项排序,jquery,jqgrid,Jquery,Jqgrid,我所经历的是,jQGrid按其值对select选项进行排序,而我找不到一种方法让它按其标签进行排序 选项在本地加载: var cities = { "15604":"Akashi", "7538":"lompolo", "13488":"Akersloot", "15516":"Akita", "17301":"Akizuki", "15848":"Akola", "11415":"Akron", "15224":"Akron",

我所经历的是,jQGrid按其值对select选项进行排序,而我找不到一种方法让它按其标签进行排序

选项在本地加载:

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>

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

这不正确。jqGrid根本不排序选择选项。如果将对象用于属性的值,则选择选项的顺序仍然可能有问题。描述为什么表单可以跟随更改选项顺序。有趣的是,顺序取决于您使用的浏览器。要解决此问题,可以使用value属性的字符串形式,也可以使用dataUrl

更新:我怀疑您使用了值的对象格式,因此您遇到了中描述的问题。您应该将城市从object更改为字符串,如15604:First labele;9563:第二个标签;。。。;12345:最后一个标签


我建议您另外考虑使用jQuery UI自动完成,而不是.< /p>对不起,但是代码在哪里显示您如何使用JQGRID中的SELECT?在那里,我的歉意是不包括它当我问:我实际上尝试使用DATOLL,问题是选项实际上是17000多条记录,我只使用了10条记录来显示一个示例,因此在添加/编辑表单显示下拉列表之前需要将近5秒钟,所以我决定在本地加载它,这样服务器只需要在每次加载页面时加载,并非每次都触发添加/编辑/搜索请求。@macinville:加载dataUrl的结果可以缓存。您还可以使用jQueryUIAutoComplete,而不是大幅减少需要加载的ItemM的数量。如果您不想或不能更改当前行为,可以通过使用editoptions.value的字符串形式修复排序问题。请参阅我答案的更新部分,以及我之前在答案中引用的部分。谢谢Oleg!我将城市选项生成为字符串而不是JSON,并且选项的排序是固定的。@Oleg Hi Oleg,你能帮我解决这个问题吗。我也面临同样的问题。

//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