如何在JavaScript中使用三元运算符?
我的情况是这样的:如何在JavaScript中使用三元运算符?,javascript,jquery,Javascript,Jquery,我的情况是这样的: ... success:function(data) { jQuery.each(data.SearchCityResponse.Nation.City, function(key,value) { console.log(value.CityCode); city.append(jQuery("<option value.CityCod==\'CEB\')?\'selected\':\'\'></option>
...
success:function(data) {
jQuery.each(data.SearchCityResponse.Nation.City, function(key,value) {
console.log(value.CityCode);
city.append(jQuery("<option value.CityCod==\'CEB\')?\'selected\':\'\'></option>").val(value.CityCode).text(value.CityName));
});
city.select2();
}
...
。。。
成功:功能(数据){
jQuery.each(data.SearchCityResponse.Nation.City,函数(键,值){
console.log(value.CityCode);
append(jQuery(“”.val(value.CityCode).text(value.CityName));
});
city.select2();
}
...
我在控制台签入:
这似乎是一个问题,编写三元“
只是一个字符串,它不会解析任何变量或JavaScript运算符
此外,还有打字错误,CityCode
应该是CityCode
您可以使用串联+
运算符
"<option " + (value.CityCode === 'CEB' ? 'selected' : '') + "></option>"
不能将任何类型的JavaScript运算符放在字符串定义的中间。当你这么做的时候,它们只是绳子的一部分。使用逻辑定义字符串片段,然后使用字符串连接构建最终字符串。其中是三元?
city.append(jQuery(“”.val(value.CityCode).text(value.CityName))代码>在“CEB\”之后的)关闭jQuery语句。尝试移除它,看看是否works@jeff不,不是。这都是字符串文字的中间部分。
var selected = value.CityCode === 'CEB' ? 'selected' : '';
"<option " + selected + "></option>"
$("<option />")
.val(value.CityCode).text(value.CityName)
.prop('selected', value.CityCode === 'CEB');