0

別の選択ボックスに基づいて選択ボックスを更新しようとしています..

私のアクティブな管理リソースでは、いくつかのテスト データに対して次のことを行いました。

controller do

  def getcols
    list = new Hash
    list = {"OPTION1" => "OPTION1", "OPTION2" => "OPTION2"}
    list.to_json
  end
end

active_admin.js には次のものがあります

$('#worksheet_type').change(function() {

  $.post("/admin/getmanifestcols/", { ws_type: $(this).val() }, function(data) {
            populateDropdown($("#column_0"), data);
        });
});

function populateDropdown(select, data) {
 select.html('');
    alert('hi');
    $.each(data, function(id, option) {
       select.append($('<option></option>').val(option.value).html(option.name));
    });       
 }

上記は、プライマリ選択ボックスが変更されるとjqueryが呼び出され、「hi」のアラートボックスが呼び出されるという意味で機能しています。ただし、選択ボックスの内容をテスト OPTION1 および OPTION2 データに置き換えていません。

JSON を間違って渡しているか、読み取られていないと思います。

私は何が欠けていますか?

4

1 に答える 1

0

マップ上で適切に反復していないように見えます。

どうですか:

$.each(data, function(value, name) {
   select.append($('<option></option>').val(value).html(name));
});

于 2012-08-05T15:20:34.333 に答える