在AJAX响应中,我正在创建option
元素。下面是一个示例:
for (var i = 0; i <= 4; i++) {
html += '<option value=' + i + '>' + (i == 0) ? '-' : i + '</option>';
}
它返回一个错误,但是当我使用它时,它工作正常:
for (var i = 0; i <=4; i++) {
html += '<option value=' + i + '>' + i + '</option>';
}
if
条件在做什么?我要在下拉列表中显示0
代替-
。请帮助我。
答案 0 :(得分:5)
问题是因为三元数的段被误解为字符串串联的一部分。要解决此问题,请将整个三元表达式用括号括起来:
for (var i = 0; i < = 4; i++) {
html += '<option value=' + i + ' >' + (i == 0 ? '-' : i) + '</option>';
}
答案 1 :(得分:0)
@Rory McCrossan可以解决您的问题。我想补充一点,如果可以针对现代浏览器,那么它将起作用:
for (var i = 0; i < = 4; i++) {
html += `<option value="${i}">${i == 0 ? '-' : i}</option>`;
}
请注意,您应该避免创建这样的HTML。请改用document.createElement()
。