使用javascript附加选择选项

时间:2011-08-10 20:29:02

标签: javascript jquery dynamic drop-down-menu append

我目前有一个空的下拉列表,我想填写一些使用javascript从我的数据库中获取的数据。
我真的不知道怎么做,所以现在我正在尝试这个。
使用JQuery的Javascript。

for (var i=0;i<data.length;i++)
  {
  var code$=data[i].String1;
  var desc$=data[i].Code_Description;
  var str$=$('<option value='+code$+'>'+desc$+'</option>');
  option$.append(str$);
  }
   $('#offCode').html(option$); 

我也试过

$('#offCode').append(option$); 

但这一切都不起作用

由于

4 个答案:

答案 0 :(得分:2)

尝试使用以下内容:

for (var i=0;i<data.length;i++) {
      var code$=data[i].String1;
      var desc$=data[i].Code_Description;
      $('<option value='+code$+'>'+desc$+'</option>').appendTo($('#idOfSelectElement'));
}

显然,上述内容依赖于从ajax / database-call中正确检索和填充的变量。

答案 1 :(得分:0)

append()您直接向<select>

创建的选项元素

您无法从代码段中了解option$是什么,但append将参数作为子元素插入。您似乎append了一个元素的所有选项,然后append将该元素添加到选择中,这将不起作用。

答案 2 :(得分:0)

$("<option value='abc'>Whatever Text</option>").appendTo($('select'));

答案 3 :(得分:0)

以下解决方案基于您问题中提供的信息。某些项目可能不适用,因为您的代码的全部范围未公开。因此,解决方案略有修改,但您应该能够轻松修改它以满足您的需求。

HTML:

<select></select>
<br />
<h1>Your select box options code:</h1>
<div id="code"></div>

JavaScript的:

var data = {"info":[{"String1":"string-value1","Code_Description":"description1"},{"String1":"string-value2","Code_Description":"description2"},{"String1":"string-value3","Code_Description":"description3"},{"String1":"string-value4","Code_Description":"description4"}]};

data = data.info;

for (var i=0;i<data.length;i++){
    var e = data[i];
    var code = e.String1;   
    var desc = e.Code_Description;   
    var str =('<option value="'+code+'">'+desc+'</option>');
    $("select").append(str); 
} 

$("#code").text($("select").html());

工作示例:http://jsfiddle.net/nAPDq/