如何通过jquery编写html select语句?
让我说我有这个想法:
<select id="mySelect">
<option value="400">400</option>
<option value="401">401</option>
<option value="402">402</option>
<option value="403">403</option>
</select>
我需要它来自jquery。
我试过这个(没有成功)
$('#div2').append('<select name = "myshield2" id="myshieldSelect2">');
var i = 400;
while (i < '410') {
// do some code
$('#div1').append('<option name="asdf" value = "1">Hey ' + i + ' is the value!</option>');
i++;
}
$('#div2').append('</select>');
答案 0 :(得分:1)
当使用append jQuery追加实际的html元素而不是html时,它不像写入HTML流。
此外,以小部分附加到文档本身的HTML是非常低效的。您的代码的以下变体应该起作用并且应该更快:
var html = [];
html[html.length] = '<select name = "myshield2" id="myshieldSelect2">';
var i = 400;
while (i < '410') {
// do some code
html[html.length] = '<option name="asdf" value = "1">Hey ' + i + ' is the value! </option>';
i++;
}
html[html.length] = '</select>';
$('#div1').append(html.join(''));
以下是其中的一个示例:JSBin Example
答案 1 :(得分:0)
$('#div1').append('<option name="asdf" value = "1">Hey ' + i....');
错了应该是
$('#myshieldSelect2').append('<option name="asdf" ....');
完成它是:
$('#div2').append('<select name = "myshield2" id="myshieldSelect2">');
var i = 400;
while (i < '410')
$('#myshieldSelect2').append('<option name="asdf" value = "1">Hey ' + i++ + '...');