var radioOps = [{"text":"option1","value":"value1","checked":true},{"text":"option2","value":"value2","checked":false},{"text":"option3","value":"value3","checked":false}] for(var i =0 ;i< radioOps.length;i++){ if(radioOps[i].checked){ _html += '<input type="radio" name="abc" value="'+ radioOps[i].value + '" title="'+ radioOps[i].text + '" checked="radioOps[i].checked">' }else{ _html += '<input type="radio" name="abc" value="'+ radioOps[i].value + '" title="'+ radioOps[i].text + '" >' } } 这段代码有问题吗
时间: 2023-07-02 10:07:17 浏览: 55
这段代码有一些小问题:
1. `_html` 变量没有初始化,需要在循环前定义一个空字符串。
2. 在第 5 行代码中,应该使用字符串拼接符 `+` 将 `radioOps[i].checked` 的值插入到 HTML 字符串中,而不是将字符串 `"radioOps[i].checked"` 插入到字符串中。
3. 在第 6 行代码中,应该将 `checked="radioOps[i].checked"` 改为 `checked`,这样才能让选中的 radio button 被默认选中。
4. 在第 7 行和第 9 行中,应该使用 `</input>` 闭合 input 标签。
修改后的代码如下:
```
var radioOps = [{"text":"option1","value":"value1","checked":true},{"text":"option2","value":"value2","checked":false},{"text":"option3","value":"value3","checked":false}];
var _html = "";
for (var i = 0; i < radioOps.length; i++) {
if (radioOps[i].checked) {
_html += '<input type="radio" name="abc" value="' + radioOps[i].value + '" title="' + radioOps[i].text + '" checked>';
} else {
_html += '<input type="radio" name="abc" value="' + radioOps[i].value + '" title="' + radioOps[i].text + '">';
}
}
console.log(_html);
```
阅读全文