jQuery使用数组中的数据创建选择标签

Lak*_*age 5 html jquery symfony

我需要访问数据库并更新选择标记的选项。我的代码在这里。

 $(window).load(function () {

     $.getJSON('http://localhost/ABC/web/app_dev.php/doctorFillOption', function (data) {

         var length = data.length,
             element = null;
         $('#idcatFill').append('<select id ="idCat"  style="width:200px;margin-left:30px;margin-top:5px;" type="text"><option value=""></option>');

         for (var i = 0; i < length; i++) {
             row = data[i];
             alert("id" + row['id'] + ' ' + row['category_name']);
             $('#idcatFill').append(
                 '<option value="' + row['id'] + '">' + row['category_name'] + '</option>'
             );
         }

     });
     $('#idcatFill').append('</select><br/>');
 });
Run Code Online (Sandbox Code Playgroud)

但是它没有选择权。需要帮忙。谢谢。

tak*_*eit 5

简单地:

$.each(data, function (index, value) {
  $('#idcatFill').append($('<option/>', { 
      value: index,
      text : value 
  }));
});
Run Code Online (Sandbox Code Playgroud)


Cha*_*shu 1

使用以下代码附加您的标签:

$("#idcatFill").append(function() {
    var elem = $('<select id ="idCat"  style="width:200px;margin-left:30px;margin-top:5px;">');
    for (var i = 0; i < length; i++) {
         row = data[i];
         elem.append('<option value="' + row['id'] + '">' + row['category_name'] + '</option>');
    }
    return elem;
});
Run Code Online (Sandbox Code Playgroud)

你不能将不完整的元素附加到 dom 上。您需要<select>在插入标签之前构建标签。