我在这里检查条件以在下拉框中选择值。但是下面这行似乎没有用。
<option value="Chairman"'+ val["designation"]== "Chairmain" ? "selected" : "" +'>Chairman</option>
我认为'
和"
存在问题。我已经尝试了很多方法来解决它,但它并没有帮助。
以下是我正在使用的完整代码:
$.each(management_details,function(key,val){
cnt++;
htm += '<select name="management[]" class="repeat-select-management">\n\
<option value="0">Select Management</option>\n\
<option value="Chairman"'+ val["designation"]== "Chairmain" ? "selected" : "" +'>Chairman</option>\n\
<option value="Vice Chairman">Vice Chairman</option>\n\
<option value="Vice Chancellor">Vice Chancellor</option>\n\
<option value="Secretary">Secretary</option>\n\
<option value="Registrar">Registrar</option>\n\
<option value="Dean">Dean</option>\n\
<option value="Owner">Owner</option>\n\
<option value="Other">Other</option>\n\
</select>';
});
任何人都可以建议我如何解决它?
答案 0 :(得分:5)
在三元语句周围添加paren应该可以解决问题。
尝试替换此行:
'<option value="Chairman"'+
val["designation"]== "Chairmain" ? "selected" : "" +
'>Chairman</option>\n\'
使用:
'<option value="Chairman"'+
(val["designation"]== "Chairmain" ? "selected" : "") +
'>Chairman</option>\n\ '
JavaScript可能会对三元语句的else
部分中包含的内容感到困惑,并且没有。
(我添加了单引号,无需在我的回答中放置整个多行字符串)