jQuery连接格式(字符串和条件语句)
jQuery Concatenate format(string and conditional statement)
我要做的是附加一个<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>  ");
}
提前谢谢。
请参阅下面的答案。不过,您应该考虑使用模板引擎,例如车把。
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>  ");
将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>  ";
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>  ");
相关文章:
- 这个条件语句的逻辑有问题
- 使用条件语句,使 jquery fadeIn/fadeOut 仅在视口 >= 480px 时才有效
- 照片滑块的条件语句
- 使用解析为javascript源的.php,如何使用条件语句将javascript代码封装在php括号之间
- 在Javascript中将条件语句转换为变量
- 如何在脚本块中使用jade/pug条件语句
- 文档中的多个条件语句
- 在元素中搜索字符串,然后将其放入条件语句中
- Node.js Jade:在 JavaScript 中使用条件语句
- Javascript在条件语句内部定位
- 条件语句II
- 呈现为纯文本的Jade条件语句
- resize中的条件语句不会在每次满足条件时触发
- 是否可以将条件语句或其他javascript作为参数传递到ember句柄中
- 如果不满足条件语句,则触发引导模式
- 在条件(if)结构的条件语句中是否有定义变量的有效方法
- text()的jQuery条件语句(三元)
- JavaScript模板引擎-将左手三进制(不带赋值)转换为条件语句
- 为什么'我的条件语句使用javascript中的正则表达式
- 无法使用条件语句停止 javascript 函数