jQuery连接格式(字符串和条件语句)

jQuery Concatenate format(string and conditional statement)

本文关键字:条件 语句 字符串 连接 格式 jQuery      更新时间:2023-09-26

我要做的是附加一个<select>标记并执行一个if语句。

我确实有错误。我想这是我连接字符串的方式。。

这是我的代码:

var load_volumes = jQuery('.micronic').val();
var arr_volumes = load_volumes.split(',');
var count_volumes = arr_volumes.length;
for(x=0; x<count_volumes; x++){
    jQuery('.append_here').append("<select class='volumes'>"
                                    +"<option>Choose Volume</option>"
                                    +"<option"
                                    + if(arr_volumes[x] == 0.5){
                                    + "selected"    
                                    + }
                                    +">0.5</option>"
                                    +"<option>0.75</option>"
                                    +"<option>1.10</option>"
                                    +"<option>1.40</option>"
                                    +"<option>2.0</option>"
                                    +"<option>2.5</option>"
                                    +"<option>3.0</option>"
                                    +"<option>4.0</option>"
                                    +"<option>6.0</option>"
                                    +"<option>7.5</option></select> &nbsp");
}

提前谢谢。

请参阅下面的答案。不过,您应该考虑使用模板引擎,例如车把。

jQuery('.append_here').append("<select class='volumes'>"
                                +"<option>Choose Volume</option>"
                                +"<option"
                                + (arr_volumes[x] == 0.5? " selected" : "")
                                +">0.5</option>"
                                +"<option>0.75</option>"
                                +"<option>1.10</option>"
                                +"<option>1.40</option>"
                                +"<option>2.0</option>"
                                +"<option>2.5</option>"
                                +"<option>3.0</option>"
                                +"<option>4.0</option>"
                                +"<option>6.0</option>"
                                +"<option>7.5</option></select> &nbsp");

if行替换为三进制选择器:

+ (arr_volumes[x] == 0.5? " selected" : "")

append函数应该有一个元素作为输入,但这只会产生警告。你代码中的问题是

+ if(arr_volumes[x] == 0.5){
+ "selected"    
+ }

理想情况下,提前设置此值。你的代码可能看起来像这样:

var volumes = (arr_volumes[x] == 0.5) ? " selected" : ""; 
var select = "<select class='volumes'>"
                            +"<option>Choose Volume</option>"
                            +"<option"
                            + volumes
                            +">0.5</option>"
                            +"<option>0.75</option>"
                            +"<option>1.10</option>"
                            +"<option>1.40</option>"
                            +"<option>2.0</option>"
                            +"<option>2.5</option>"
                            +"<option>3.0</option>"
                            +"<option>4.0</option>"
                            +"<option>6.0</option>"
                            +"<option>7.5</option></select> &nbsp";
jQuery('.append_here').append(select);

但最终考虑一下这样的东西,使其可变:

var values = [0.5, 0.75, 1.10, 1.40, 2.0, 2.5, 3.0, 4.0, 6.0, 7.5];
var content = "<select class='volumes'>"
for(var i=0; values.length; i++) {
    content += "<option";
    content += (arr_volumes[x] == values[i]) ? " selected" : "";
    content += ">" + values[i] + "</option>";
}
content += "</select>";

尝试这种方式选择

var s="";
if(arr_volumes[x] == 0.5){
         s=" selected "  ;
}
jQuery('.append_here').append("<select class='volumes'>"
                                    +"<option>Choose Volume</option>"
                                    +"<option"
                                    + s 
                                    +">0.5</option>"
                                    +"<option>0.75</option>"
                                    +"<option>1.10</option>"
                                    +"<option>1.40</option>"
                                    +"<option>2.0</option>"
                                    +"<option>2.5</option>"
                                    +"<option>3.0</option>"
                                    +"<option>4.0</option>"
                                    +"<option>6.0</option>"
                                    +"<option>7.5</option></select> &nbsp");