2016-05-06 83 views
1

我使用jQuery的1.12.3.min.js和動態獲取選擇設置所選的選項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(); 
} 

我想選擇的選項設置,但$('#companiesList').val(data.id)不`噸的工作選擇,你可以建議我正確的方法做到這一點,在此先感謝

+0

您的選項是否可以動態生成? – divy3993

回答

4

您正在設置AJAX回調函數的外部值。這意味着這些選項不能保證他們會在那裏。把你的代碼到成功回調:

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); 
     } 

    }) 
// ... 

此外,爲了data你在你的.val(data.id)指哪?

+0

我已經試過了,但沒有幫助 –

+0

謝謝,你是對的,問題在於數據變量,我沒有注意到它 –

0

$( '#companiesList')。VAL(data.id)

我覺得這是你的數據對象的問題。請確保data.id shoudl包含某些內容。