动态下拉菜单祖先和轨道3

时间:2012-11-04 10:49:05

标签: javascript ruby-on-rails dynamic menu ancestry

您好我尝试使用祖先和rails 3.2进行动态下拉菜单,但没有太多javascript经验。 我有类别的祖先树和广告(模型/控制器)。广告应该有一个类别。所以我的想法是,当我创建广告时,我会从下拉菜单类别中选择。 在类别中,例如我有

-Cars   - 阿尔法罗密欧   - -145   - -146   - 奥迪   - -A4 在选择了audi get models之后,我选择了Cars get(alfa romeo,audi)后,我应该如何更改或创建javascript来获得第一个category.roots? I've try to folow this link 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' %>

0 个答案:

没有答案