簡體   English   中英

用Javascript編寫咖啡

[英]Javascript into Coffee

我在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。 誰能幫我這個?

感謝您的任何幫助!

對於它的價值,我認為您似乎已嘗試將代碼轉換為CoffeeScript 並同時進行更改。 您可能應該先做第一個,然后檢查它是否起作用,然后再做第二個。

這會為我編譯,並且與您上面的JavaScript相同。 對你起作用嗎? 如果是這樣,請從那里繼續:

$(document).ready ->
  $('#categories_select').change ->
      $.ajax
        url: "<%= update_subcategories_path %>",
        data: 
          category_id : $('#categories_select').val()
        dataType: "script"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM