2016-01-21 93 views
0

嗨,我有一个选择框,我使用ajax来追加选项。我首先要删除所有现有的选项,并追加数组中的新选项。但是选项没有显示。jquery没有追加选项从数组中选择字段

我的选择框:

<div class="btn-group"> 
    <select class="selectpicker" id="open_po_number" name="open_po_number" data-style="btn-primary"> 
    </select> 
</div> 

我的Ajax响应:

var vendor_po_list = response.vendor_po_list; 
alert(vendor_po_list); 
$('#open_po_number').find('option').remove(); 
$.each(vendor_po_list, function(i, item){ 
    $('#open_po_number').append($('<option>', { 
     value: vendor_po_list[i], 
     text: vendor_po_list[i] 
    })); 
}); 

我能看到我的阵列中的警告框,但值不附加到选择框。这个怎么做? 另外我想先删除现有的选项。

编辑:
//从控制台登录

vendor_po_list = ["PO-2", "PO-3", "PO-4", "PO-5", "PO-6", "PO-7", "PO-10", "PO-11"] 

完全AJAX:

$('[name="grn_vendor"]').on('change',function(){ 
    var vndor_name = $(this).val(); 
    if (vndor_name != 'none'){ 
     $.ajax({ 
      url : "/grn_qc/", 
      type : "POST", 
      data : {action:'get_po_no', 
        vndor_name:vndor_name}, 

      success : function(response){ 
       var vendor_po_list = response.vendor_po_list; 
       console.log(vendor_po_list); 
       $('#open_po_number').empty(); 
       $.each(vendor_po_list, function(i, item) { 
        $('#open_po_number').append($('<option>', { 
        value: vendor_po_list[i], 
        text: vendor_po_list[i] 
        })); 
       }); 
      }, 

      error : function(xhr,errmsg,err) { 
       console.log(xhr.status + ": " + xhr.responseText); 
      } 
      }); 
    } 
}); 
+0

试着在后面加上'item'在'值:项, 文本:item' –

+0

另外,尝试加入的问题'vendor_po_list'价值得到澄清.. –

+0

@GuruprasadRao它没有与项目工作太.. –

回答

1

相反,你可以使用.empty()方法:

var vendor_po_list = ["PO-2", "PO-3", "PO-4", "PO-5", "PO-6", "PO-7", "PO-10", "PO-11"]; 
 

 
$('#open_po_number').empty(); 
 
$.each(vendor_po_list, function(i, item) { 
 
    $('#open_po_number').append($('<option>', { 
 
    value: vendor_po_list[i], 
 
    text: vendor_po_list[i] 
 
    })); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="open_po_number"> 
 
    <option>one</option> 
 
    <option>two</option> 
 
    <option>three</option> 
 
</select>

+0

但是如何追加?该值不附加到选择框.. –

+0

那是数组还是对象? – Jai

+0

这是一个数组。 –