Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rails根据“集合选择”的值呈现部分_Javascript_Html_Ruby On Rails_Ruby_Coffeescript - Fatal编程技术网

Javascript Rails根据“集合选择”的值呈现部分

Javascript Rails根据“集合选择”的值呈现部分,javascript,html,ruby-on-rails,ruby,coffeescript,Javascript,Html,Ruby On Rails,Ruby,Coffeescript,我正在开发一个基于分类广告的网站,我想让表单根据javascript输入的分类类型进行调整 例如,我有很多类型,如汽车和手机 我有三个下拉列表,它们使用coffee脚本根据以前的输入进行过滤(下面将包括代码) 我希望表单根据最后一个框中的选定值加载部分 看看下面的例子 第一个下拉列表是“类别”,然后是“子类别”,然后是“子类别” 我想在选择最后一个框“Games”时加载部分“_Games.html.erb” 我用来隐藏和过滤下拉列表的Coffee脚本如下 jQuery -> $(

我正在开发一个基于分类广告的网站,我想让表单根据javascript输入的分类类型进行调整

例如,我有很多类型,如汽车和手机

我有三个下拉列表,它们使用coffee脚本根据以前的输入进行过滤(下面将包括代码)

我希望表单根据最后一个框中的选定值加载部分

看看下面的例子

第一个下拉列表是“类别”,然后是“子类别”,然后是“子类别”

我想在选择最后一个框“Games”时加载部分“_Games.html.erb”

我用来隐藏和过滤下拉列表的Coffee脚本如下

  jQuery ->
  $('#classified_tag_list').autocomplete
    source: $('#classified_tag_list').data('autocomplete-source')


  $('#classified_sub_category_id').hide()
  $('#classified_sub_sub_category_id').hide()
  sub_category = $('#classified_sub_category_id').html()

  $('#classified_category_id').change ->
    category = $('#classified_category_id :selected').text()
    options = $(sub_category).filter("optgroup[label='#{category}']").html()
    if (options)
      $('#classified_sub_category_id').html(options)
      $('#classified_sub_category_id').show()
      $('#classified_sub_sub_category_id').empty()

    else
      if(not category == 'Please select a category')
        $('#classified_sub_category_id').parent().hide()
        $('#classified_sub_sub_category_id').parent().hide()
      $('#classified_sub_category_id').empty()
      $('#classified_sub_category_id').empty()
      $('#classified_sub_sub_category_id').empty()
      $('#classified_sub_sub_category_id').empty()




  suburbs = $('#classified_sub_sub_category_id').html()
  $('#classified_sub_category_id').change ->
    city = $('#classified_sub_category_id :selected').text()
    options = $(suburbs).filter("optgroup[label='#{city}']").html()
    if (options)
      $('#classified_sub_sub_category_id').html(options)
      $('#classified_sub_sub_category_id').show()
    else
      $('#classified_sub_sub_category_id').empty()
      $('#classified_sub_sub_category_id').hide()
那么,如何根据上一个下拉列表的值使用javascript加载分部文件呢

[编辑]

我看着

这就是我所拥有的

_form.html.erb

    <script type="text/javascript">
$(document).ready(function() {
  $('#classified_sub_sub_category_id').change(function() {
    $.ajax({ url: '/classifieds/form_partial/'+ this.value });
  });
});
</script>


form_partial.js.erb
$(“#分类(子)分类(子)类别(id)”)。在(“”)之后;
$(“#分类(子)分类(子)类别(id)”)。在(“”)之后;

但这就是错误所在

undefined method `render' for #<#<Class:0xa0805fc>:0xb574788>
  (in /home/james/hustle/app/assets/javascripts/form_partial.js.erb)
的未定义方法“render”#
(在/home/james/hustle/app/assets/javascripts/form_partial.js.erb中)

鲁伊斯·拉马霍根据评论修复了愚蠢的我


发生此错误的原因是您正在将文件表单_partial.js.erb放在assets>文件夹中。请尝试移到“视图”文件夹卢伊斯拉马霍


问题是什么?James,看看这是否对你有帮助Hi@LuísRamalho我遵循了教程,但出现了一些错误,正如更新后的问题中所发布的那样。请分享错误发生的文件的内容
form_partial.js.erb
?谢谢发生此错误是因为您将文件
form_partial.js.erb
放在资产文件夹中。请尝试移到“视图”文件夹。
classifieds_controller.rb

def form_partial
  @category = Category.find(params[:id])
end
form_partial.js.erb

 <% if @category == 1 %>
   $('#classified_sub_sub_category_id').after('<div id="product_partial"><%= escape_javascript render('/forms/cars') %></div>');
 <% else %>
   $('#classified_sub_sub_category_id').after('<div id="product_partial"><%= escape_javascript render('/forms/cars') %></div>');
<% end %>
undefined method `render' for #<#<Class:0xa0805fc>:0xb574788>
  (in /home/james/hustle/app/assets/javascripts/form_partial.js.erb)