条件不适用于javascript

时间:2014-06-17 09:56:33

标签: javascript jquery

我在这里检查条件以在下拉框中选择值。但是下面这行似乎没有用。

<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>';
});

任何人都可以建议我如何解决它?

1 个答案:

答案 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部分中包含的内容感到困惑,并且没有。

(我添加了单引号,无需在我的回答中放置整个多行字符串)