Javascript 如何附加select内部循环

Javascript 如何附加select内部循环,javascript,jquery,loops,append,Javascript,Jquery,Loops,Append,我试图在循环中附加select选项,但我无法理解如何做到这一点。我在jquery中的常规代码如下所示: var myselect2=$('') var myselect2=$(''); myselect2.append($(“”).val(“”.html(“”)); myselect2.append($('').val(“a”).html(“a”); myselect2.append($('').val(“b”).html(“b”); myselect2.append($('').val(“c”

我试图在循环中附加select选项,但我无法理解如何做到这一点。我在jquery中的常规代码如下所示: var myselect2=$('')

var myselect2=$('');
myselect2.append($(“”).val(“”.html(“”));
myselect2.append($('').val(“a”).html(“a”);
myselect2.append($('').val(“b”).html(“b”);
myselect2.append($('').val(“c”).html(“c”);
myselect2.append($('').val(“d”).html(“d”);
$(“#卫生研究所1”).append(myselect2.html());
我的html代码是:

 <select multiple="" class="form-control" id="health_institutions1">

我正在尝试下面的代码,但没有运气

  myselect2.append( $('<option disabled selected value ></option >').val("").html("") );
  $.ajax({
       type: 'GET',
       url: url()+'/patient_occupancies.json',
       dataType: 'json',
       success: function (datavalues1) {



         $.each(datavalues1, function( i, val ) {
                   var indicator1 = val.indicators;

                   if (indicator1 === 'Outpatient visits') {
                     var x = val.District;
                     myselect2.append( $('<option ></option>').val(x).html(x) );
                      //  console.log(textToInsert);
                  console.log(x);                   }

         });


       }
   });

$('#health_institutions1').append(myselect2.html());
myselect2.append($(“”).val(“”.html(“”));
$.ajax({
键入:“GET”,
url:url()+'/patient_accubitions.json',
数据类型:“json”,
成功:函数(数据值1){
$.each(数据值1,函数(i,val){
var指示符1=val指示符;
如果(指标1==‘门诊就诊’){
var x=瓦尔地区;
附加($('').val(x).html(x));
//console.log(textToInsert);
console.log(x);}
});
}
});
$(“#卫生研究所1”).append(myselect2.html());

在我的情况下,如何附加选项是不起作用的。

类似以下代码的内容应该可以实现您想要的

var myselect2 = $('<select>');
myselect2.append($('<option disabled selected value ></option >').val("").html(""));

var items = ["a", "b", "c", "d"];
for (var i = 0; i < items.length; i++) {
    myselect2.append($('<option ></option>').val(items[i]).html(items[i]));
}

$('#health_institutions1').append(myselect2.html());

这将确保它只在AJAX调用成功后追加。

它不是这样工作的:$.each(datavalues1,function(i,val){var indicator1=val.indicators;if(indicator1==“门诊就诊”){var x=val.District;myselect2.append($('').val(x).html(x));//console.log(textToInsert);//datavalues.push(x);};什么是ajax?没有ajax。@NilaySingh也在注释中发布代码一点帮助都没有。我无法阅读这些代码。@NilaySingh尝试在ajax调用中移动
$('#health_institutions1')。append(myselect2.html());
。该行在给出响应之前运行。我将$('#health_institutions1')。append(myselect2.html());内部ajax调用谢谢您可以编辑您的答案“它不工作”-需要详细说明吗?它是否会导致脚本错误?它是否会进入您的代码?datavalues1的值是多少?…它是一个数组还是先有一个附加属性?它只是数组中的一个b c值?作为javascript对象的属性?xml?json?
var myselect2 = $('<select>');
myselect2.append($('<option disabled selected value ></option >').val("").html(""));

var items = ["a", "b", "c", "d"];
for (var i = 0; i < items.length; i++) {
    myselect2.append($('<option ></option>').val(items[i]).html(items[i]));
}

$('#health_institutions1').append(myselect2.html());
success: function(datavalues1) {
    $.each(datavalues1, function(i, val) {
        var indicator1 = val.indicators;

        if (indicator1 === 'Outpatient visits') {
            var x = val.District;
            myselect2.append($('<option ></option>').val(x).html(x));
            //  console.log(textToInsert);
            console.log(x);
            $('#health_institutions1').append(myselect2.html());
        }
    });
}