使用while语句或类似命令通过jquery创建一个html选择

时间:2011-08-18 16:12:24

标签: jquery html

如何通过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>');

2 个答案:

答案 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++ + '...');