2016-05-06 16 views
1

I jquery-1.12.3.min.js bin mit und dynamisch Optionen erhalten für ausgewählteSet ausgewählte Option JQuery

function loadCompanies() { 
if ($("#isSubsidiaryCompany").is(":checked")) { 
    $.ajax({ 
     type : "GET", 
     url : "get_companies", 
     success : function(data) { 
      $.each(data, function(i, data) { 
       $('#companiesList').append($('<option>', { 
        value : data.id, 
        text : data.name 
       })); 
      }); 
     } 

    }) 
    $("#companiesSelect").show(); 
    $('#companiesList').val(data.id); 
} else { 
    $("#companiesSelect").hide(); 
} 

Ich möchte Option einstellen ausgewählt, aber $('#companiesList').val(data.id) doesn `t Arbeit, könnten Sie mir empfehlen, die richtiger Weg dies zu erreichen, danke im Voraus

+0

Werden Ihre Optionen dynamisch generiert? – divy3993

Antwort

4

Sie setzen den Wert außerhalb der AJAX-Callback-Funktion. Was bedeutet, dass diese Optionen nicht garantiert werden, dass sie da sein werden. Setzen Sie den Code in den Erfolg Rückruf:

if ($("#isSubsidiaryCompany").is(":checked")) { 
    $.ajax({ 
     type : "GET", 
     url : "get_companies", 
     success : function(data) { 
      $.each(data, function(i, data) { 
       $('#companiesList').append($('<option>', { 
        value : data.id, 
        text : data.name 
       })); 
      }); 
      $("#companiesSelect").show();    // < === HERE === 
      $('#companiesList').val(data.id); 
     } 

    }) 
// ... 

Auch auf die data Sie in Ihrem .val(data.id) Bezug auf sind?

+0

Ich habe es schon ausprobiert, aber es hilft nicht –

+0

Danke, Sie haben Recht, das Problem ist in Datenvariablen, ich habe es nicht bemerkt –

0

$ ('# companiesList'). Val (data.id)

Ich denke, es ist Problem mit dem Datenobjekt. stellen Sie bitte sicher, dass data.id shoudl etwas enthält.

Verwandte Themen