2016-05-06 6 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) doesnの `tの仕事のためのオプションを取得しています

、あなたは私勧めでき正しい方法でこれを達成してください。ありがとうございます。

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

    }) 
// ... 

、あなたの.val(data.id)でに言及されているdataに:あなたのコードは、成功コールバックの中に入れて?私はあなたのデータオブジェクトに問題があると思い

+0

私はすでにそれを試しましたが、それは助けません –

+0

ありがとう、あなたは正しいです、問題はデータ変数にあります、私はそれを気づかなかった –

0

$( '#のcompaniesList')。valを(data.id)

。 data.idのshoudlに何かが含まれていることを確認してください。

関連する問題