Javascript 如何按字母顺序排列下拉列表
我正在C#中创建自己的网站,并尝试按字母顺序(A-Z)对从数据库中获得的一些人的名单进行排序 我留下了一个例子,说明了我在javascript中所做的工作和函数,我用它加载下拉列表中的人员列表Javascript 如何按字母顺序排列下拉列表,javascript,c#,Javascript,C#,我正在C#中创建自己的网站,并尝试按字母顺序(A-Z)对从数据库中获得的一些人的名单进行排序 我留下了一个例子,说明了我在javascript中所做的工作和函数,我用它加载下拉列表中的人员列表 函数loadResponsable(){ const url=document.getElementById(“responsables”).value; document.getElementById(“AssignDiv”).style.display=“block”; $.ajax({ url:u
函数loadResponsable(){
const url=document.getElementById(“responsables”).value;
document.getElementById(“AssignDiv”).style.display=“block”;
$.ajax({
url:url,
类型:“POST”,
数据类型:“json”,
成功:功能(数据){
const responsables=document.getElementById(“ticketResponsables”);
for(让idx输入数据){
if(data.hasOwnProperty(idx)){
const option=document.createElement(“选项”);
option.innerHTML=数据[idx];
option.value=idx;
responsables.options.add(option);
}
}
}
});
};代码>
阿西尼亚多a:
阿西格纳
当您使用SQL或非SQL语法从数据库中提取数据时,您可以按升序或降序进行排序。使用javascript,您可以使用sort()函数对数组“data”进行排序
data.sort()
将这一行放在for循环之前。有几种方法可以做到这一点。一种选择是在服务器端使用。而不是
return Json(LdapController.GetUsersByGroup(groups));
你可以做:
return Json(LdapController.GetUsersByGroup(groups.Sort()));
但就我个人而言,我会深入研究LdapGroupModel.GetAllLdapGoups()
,找到生成列表的根查询,并在那里进行排序。我喜欢尽可能靠近数据源对数据进行排序。但那只是我。两种方法都可以
编辑:
好吧,我错了。请尝试以下方法:
groups.Sort();
return Json(LdapController.GetUsersByGroup(groups));
你为什么不让数据库做排序呢?这似乎是最简单的解决方案。如果我愿意,我可以添加一些默认选项来填充下拉菜单,但您可以在从数据库获取数据后在Javascript中这样做。@SebastianSalazar,Howcheng是正确的。进行排序的位置是在数据库(最佳)或服务器端代码(次优)检查问题中,我添加服务器端代码测试您可能的解决方案向我显示以下错误未捕获类型错误:data.sort不是一个函数尝试data.sort
而不是data.sort()
相同的错误,Uncaught TypeError:data.sort不是一个函数
查看由检查问题提供的文档,尝试使用可能的解决方案,但它会生成图像错误当我将sort
方法放入groups.sort()
中时,我收到了错误消息啊!我没有看到你在操作中添加了屏幕截图。现在查看。即使不工作,它也不会加载下拉列表中的任何内容