gpt4 book ai didi

javascript - Rails 根据集合选择的值呈现部分

转载 作者:太空宇宙 更新时间:2023-11-03 16:31:06 24 4
gpt4 key购买 nike

我在一个基于分类的网站上工作,我想让表单适应 javascript 输入的分类类型。

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

我有三个下拉菜单,它们使用 CoffeeScript 根据之前的输入进行过滤(代码将包含在下面)。

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

看看下面的例子。

第一个下拉菜单是类别,然后是子类别,然后是子类别。

我希望在选择最后一个框“游戏”时加载部分“_games.html.erb”

an example

我用于隐藏和过滤下拉菜单的 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 根据最后一个下拉列表的值加载部分呢?

[编辑]

我看了Dynamic Partial Based on Select Box - Rails 2.3.5

这就是我拥有的

_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>

routes.rb

resources :classifieds do
match "/form_partial/:id" => "classifieds#form_partial"
end

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)

最佳答案

Luís Ramalho 根据评论修复了愚蠢的我

The error is happening because you're putting the file form_partial.js.erb in the assets >folder. Try to move to the views folder instead. – Luís Ramalho

关于javascript - Rails 根据集合选择的值呈现部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15773713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com