【发布时间】:2016-06-08 06:24:14
【问题描述】:
我在 rails 中遇到了一些 javascript 代码。我使用此代码动态制作两个下拉菜单。我需要将代码“翻译”成 js.coffee,但我不知道该怎么做。
这是我的 javascript 代码:
<script>
$(document).ready(function() {
$('#categories_select').change(function() {
$.ajax({
url: "<%= update_subcategories_path %>",
data: {
category_id : $('#categories_select').val()
},
dataType: "script"
});
});
});
</script>
我用这个试过了,但它不起作用:
$ ->
$(document).on 'change', '#categories_select', (evt) ->
$.ajax 'update_subcategories',
type: 'GET'
dataType: 'script'
data: {
country_id: $("#categories_select option:selected").val()
}
error: (jqXHR, textStatus, errorThrown) ->
console.log("AJAX Error: #{textStatus}")
success: (data, textStatus, jqXHR) ->
console.log("Dynamic category select OK!")
这是我的表格:
<%= form_for(@search) do |f| %>
<%= f.collection_select :category_id, @categories, :id, :name, {:prompt => "Select category"}, {:id => 'categories_select'} %>
<%= f.collection_select :subcategory_id, @subcategories, :id, :name, {:prompt => "Select subcategory"}, {:id => 'subcategories_select'} %>
使用脚本它工作正常,但我想从我的 html 文件中获取这个 javascript。谁能帮我解决这个问题?
感谢您的帮助!
【问题讨论】:
-
控制台有什么错误?
-
您可以使用js2coffee 等服务来转换现有代码。我可以看到,您在咖啡示例中的数据中使用了“country_id”,但在 javascript 中使用了“category_id”。
-
谢谢你,玛达林!我可以在控制台中找到错误。 'update_subcategories' 只是错误的路径face palm。
标签: javascript jquery ruby-on-rails coffeescript