Javascript 如何为我的下拉选项设置自定义优先级
我正在从dackend获取作为JSON字符串对象的下拉值。我的JSON字符串包含两个值,一个是id,另一个是e_名称。现在我正在下拉列表中显示e_名称Javascript 如何为我的下拉选项设置自定义优先级,javascript,Javascript,我正在从dackend获取作为JSON字符串对象的下拉值。我的JSON字符串包含两个值,一个是id,另一个是e_名称。现在我正在下拉列表中显示e_名称 script language="JavaScript"> function getEnvNames(result){ $("#environmentDetails").empty(); var data = JSON.parse(result); $.each(data, function(key, value)
script language="JavaScript">
function getEnvNames(result){
$("#environmentDetails").empty();
var data = JSON.parse(result);
$.each(data, function(key, value)
{
$("#environmentDetails").append("<option>" + value.environments_name + "</option>");
});
}
</script>
像这样,e_名称值就在那里。我在下拉列表中显示这些值
HCL - Demo
IBM1 - Test
ECO1 - Development
MindSpace - Development
ABC - Demo
CDF - Test
FGR - Production
RFGGDDF - Production
如果我的下拉列表中包含类似pro(FGR-Production)的内容,我会优先考虑。如果我的下拉列表中包含Development(MindSpace-Development),那么我必须优先考虑第二个内容。例如test-3rd priority Demo
(ABC-演示)。第四优先级测试(CDF-测试)
我的疑问是如何为我的下拉选项设置自定义优先级
像这样,我从后端获取JSON字符串对象
@RequestMapping(value = "/environments", method = RequestMethod.POST)
public @ResponseBody String getEnvironmentNames(@RequestParam String selectedcustomername) throws SQLException {
System.out.println("selectedcustomername"+selectedcustomername);
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("environments", new Environments());
List<Environments> environmentnamesList= loginD.getEnvironments(selectedcustomername);
Gson gson = new Gson();
System.out.println("gson"+gson);
String jsonString = gson.toJson(environmentnamesList);
return jsonString;
}
@RequestMapping(value=“/environments”,method=RequestMethod.POST)
public@ResponseBody String getEnvironmentNames(@RequestParam String selectedcustomername)引发SQLException{
System.out.println(“selectedcustomername”+selectedcustomername);
ModelAndView ModelAndView=新建ModelAndView();
addObject(“环境”,新环境());
列表环境名称列表=loginD.getEnvironments(selectedcustomername);
Gson Gson=新的Gson();
系统输出打印项次(“gson”+gson);
字符串jsonString=gson.toJson(环境名称列表);
返回jsonString;
}
这样,您可以为下拉选项设置自定义优先级。
现在我想你的问题可以解决了
function getEnvNames(result) {$("#environmentDetails").empty();
var data = new Array(), newarr = new Array();
data = JSON.parse(result);
$.each(data, function (key, value) {
for (var i = 0; i < data.length; i++) { if (data[i].search("pro") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < data.length; i++) { if (data[i].search("dev") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < data.length; i++) { if (data[i].search("test") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < newarr.length; i++) { $("#environmentDetails").append("<option>" + newarr[i] + "</option>");}
});}
Output
infosys - pro
ibm - pro
hcl - dev
ibm - test
emc - test
函数getEnvNames(result){$(“#environmentDetails”).empty();
var data=new Array(),newarr=new Array();
data=JSON.parse(结果);
$。每个(数据、函数(键、值){
对于(var i=0;i0{newarr.push(data[i]);data.splice(i,1);i=i-1;}
对于(var i=0;i0{newarr.push(data[i]);data.splice(i,1);i=i-1;}
对于(var i=0;i0{newarr.push(data[i]);data.splice(i,1);i=i-1;}
对于(var i=0;i
我正在我的系统中运行此代码,它正在工作
function getEnvNames(result) {
debugger;
$("#environmentDetails").empty();
var data = new Array(), newarr = new Array();
data = JSON.parse(result);
if(data.length>0){
for (var i = 0; i < data.length; i++) { if (data[i].search("pro") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < data.length; i++) { if (data[i].search("dev") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < data.length; i++) { if (data[i].search("test") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < newarr.length; i++) { $("#environmentDetails").append("<option>" + newarr[i] + "</option>"); }}
window.event.returnValue = false;
}
函数getEnvNames(结果){
调试器;
$(“#环境详细信息”).empty();
var data=new Array(),newarr=new Array();
data=JSON.parse(结果);
如果(数据长度>0){
对于(var i=0;i现在检查一下,我拿走了你的杰森线。工作正常
function getEnvNames() {
debugger;
$("#environmentDetails").empty();
var data = new Array(), newarr = new Array();
var data = [{ "id": 3272, "company_name": "HCL - Demo" }, { "id": 3255, "company_name": "IBM1 - Test" }, { "id": 3257, "company_name": "ECO1 - Development" }, { "id": 3253, "company_name": "MindSpace - Development" }, { "id": 3256, "company_name": "ABC - Demo" }, { "id": 3258, "company_name": "CDF - Test" }, { "id": 3205, "company_name": "FGR - Production" }, { "id": 3208, "company_name": "RFGGDDF - Production"}];
if (data.length > 0) {
for (var i = 0; i < data.length; i++) { if (data[i].company_name.search("Production") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < data.length; i++) { if (data[i].company_name.search("Development") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < data.length; i++) { if (data[i].company_name.search("Test") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < newarr.length; i++) { $("#environmentDetails").append("<option>" + newarr[i].company_name + "</option>"); }
}
window.event.returnValue = false;
}
函数getEnvNames(){
调试器;
$(“#环境详细信息”).empty();
var data=new Array(),newarr=new Array();
var数据=[{“id”:3272,“公司名称”:“HCL-Demo”},{“id”:3255,“公司名称”:“IBM1-Test”},{“id”:3257,“公司名称”:“ECO1-Development”},{“id”:3253,“公司名称”:“MindSpace-Development”},{“id”:3256,“公司名称”:“ABC-Demo”},{“id”:3258,“公司名称”:“CDF-Test”},{“id”:3205,“公司名称”:“FGR-生产”},{“id”:3208,“公司名称”:“RFGGDDF-生产”}];
如果(data.length>0){
对于(var i=0;i<select name="environmentDetails" id="environmentDetails"><option>FGR - Production</option><option>RFGGDDF - Production</option><option>ECO1 - Development</option><option>MindSpace - Development</option><option>IBM1 - Test</option><option>CDF - Test</option></select>
FGR-ProductionRFGGDDF-ProductionECO1-DevelopmentMindSpace-DevelopmentIBM1-TestCDF-Test
有人能帮我吗。什么是DropDownList 1.我有一个下拉列表…刚才我更新了我的整个代码,我的问题也解决了。请看一看。相应地更新我。如果您从后端获取数据,那么在将数据转换为json格式之前,您可以轻松排序。仅在jquery func中将数据分配给ddl我更新了关于如何获取JSON字符串对象的问题。您能告诉我如何在后端进行过滤吗?您好,我在.NET技术领域工作,我可以在后端使用Linq to Sql来实现这一点,但我认为,您不会得到。所以我在jquery中为您提供解决方案,只是为了让您能够获取,。我获得------数据[I].search不是一个功能。如果我尝试打印数据,我不会得到任何东西。例如警报(“dataaa”+数据);我的输出仅为dataaa。您好,我修改了代码中的一些错误,请尝试一下。并确保结果变量字符串包含任何值;我认为,无论您从后端返回的值是什么,它都是空的。刚才我非常清楚地更新了我的问题。您能回答一下吗
function getEnvNames(result) {
debugger;
$("#environmentDetails").empty();
var data = new Array(), newarr = new Array();
data = JSON.parse(result);
if(data.length>0){
for (var i = 0; i < data.length; i++) { if (data[i].search("pro") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < data.length; i++) { if (data[i].search("dev") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < data.length; i++) { if (data[i].search("test") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < newarr.length; i++) { $("#environmentDetails").append("<option>" + newarr[i] + "</option>"); }}
window.event.returnValue = false;
}
function getEnvNames() {
debugger;
$("#environmentDetails").empty();
var data = new Array(), newarr = new Array();
var data = [{ "id": 3272, "company_name": "HCL - Demo" }, { "id": 3255, "company_name": "IBM1 - Test" }, { "id": 3257, "company_name": "ECO1 - Development" }, { "id": 3253, "company_name": "MindSpace - Development" }, { "id": 3256, "company_name": "ABC - Demo" }, { "id": 3258, "company_name": "CDF - Test" }, { "id": 3205, "company_name": "FGR - Production" }, { "id": 3208, "company_name": "RFGGDDF - Production"}];
if (data.length > 0) {
for (var i = 0; i < data.length; i++) { if (data[i].company_name.search("Production") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < data.length; i++) { if (data[i].company_name.search("Development") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < data.length; i++) { if (data[i].company_name.search("Test") > 0) { newarr.push(data[i]); data.splice(i, 1); i = i - 1; } }
for (var i = 0; i < newarr.length; i++) { $("#environmentDetails").append("<option>" + newarr[i].company_name + "</option>"); }
}
window.event.returnValue = false;
}
<select name="environmentDetails" id="environmentDetails"><option>FGR - Production</option><option>RFGGDDF - Production</option><option>ECO1 - Development</option><option>MindSpace - Development</option><option>IBM1 - Test</option><option>CDF - Test</option></select>