如何在ajax select2插件中选择值

时间:2017-08-21 11:26:31

标签: javascript jquery ajax jquery-selectors jquery-select2

html

  <label>Customer PO</label>
  <select name="Customer_PO" class="form-control" id="Customer_PO" >
  <option value="" >Customer PO</option>
  </select>
-------------

jquery的

$('body').on('click','#Customer_PO',function(e){
id_tosend=$(this).attr("id").toString();
var cust_id=$('#Customer_list').val();
var a=$('#'+id_tosend).select2({
  ajax: {
   url: 'ajax/report/inspection_report.php?cust_id='+cust_id,
   dataType: 'json',
   delay: 500,
   data: function (params) {
            var queryParameters = {
                q: params.term
            }
            return queryParameters;
    },
   processResults: function (data) {
        return {
            results: data
        };
   },
   cache:true
  }

});


a.data('select2').dropdown.$dropdown.addClass("test");
$(this).select2('open');
});

我附上Select2插件。当我在表单中提交数据时,它显示空值。我如何得到这个值来设置ajax方法中的选定初始值。

1 个答案:

答案 0 :(得分:0)

你可以试试这个

HTML

<label>Customer PO</label>
<select name="Customer_PO" class="form-control" id="Customer_PO" >
  <option value="" >Customer PO</option>
</select>

JQUERY

$.ajax({
            url: 'url',
            type: 'POST',
            data: { id: id},
            dataType: 'JSON',
            success: function (resp) {
                if(resp.msg == 'Done'){
                    $("#Customer_PO option:selected").removeAttr("selected");

                    $.each(resp.yourListData, function (key, value) {
                      $("#Customer_PO ").append('<option value="'+value.ID+'">'+value.name+'</option>');

                    });
                    $("#Customer_PO ").trigger("change", [true]);
                }
            },
            error: function (e) {
                console.log("Line 1204");
                console.log(e.responseText);
            }
        });