0

こんにちは、祖先と Rails 3.2 を使用して動的ドロップダウン メニューを実行しようとしましたが、javascript の経験はあまりありません。祖先ツリーと広告 (モデル/コントローラー) のカテゴリがあります。広告には 1 つのカテゴリが必要です。だから私の考えは、ドロップダウン メニュー カテゴリから選択する広告を作成するときです。たとえば、私が持っているカテゴリでは

-Cars - Alfa Romeo - -145 - -146 - Audi - -A4 audi get models を選択した後、cars get (alfa romeo, audi) を選択した後、最初の category.roots を取得するための javascript を変更または作成するにはどうすればよいですか? このリンク railscast をたどろうとしましたが、javascript の変更方法がわかりません。

javascript_controller

class JavascriptsController < ApplicationController

def dynamic_category @categories = Category.roots.all

終了 終了

dynamic_category.js.erb

var categories = new Array();
<% for category in @categories %>
    category.push(new Array('<%= category.title %>', <%= category.id %>));
<% end -%>

function categorySelected() {
    category_id = $('ad_category_id').getValue();
    children = $('ad_category_id').children;
    children.lenght = 1;
    categories.each(function(category) {
    if (category.children[0] == category.id) {
    children[children.lenght] = new Child(category[1], category[2]);
}});
if (children.lenght == 1) {
    $('category_field').hide();
    }else {
    $('category_field').show();
    }
}
document.observe('dom:loaded', function() {
    $('category_field').hide();
    $('ad_category_id').observe('change', categorySelected);
});

そして、この後の広告_form.html.erbには何を入れるべきですか

<div class="field">
    <%= f.label(:category_id, "Select Category") %><br >
  <%= f.select(:category_id, @categories.collect {|s| [s.title, s.id]}, :prompt => "Select something") %>
</div>
<% javascript 'dynamic_category' %>
4

0 に答える 0