簡體   English   中英

Rails應用中的jQuery Uncaught ReferenceError:未定義變量

[英]JQuery in Rails app Uncaught ReferenceError: variable is not defined

我正在使用Rails和jQuery構建購物應用程序。 Rails版本5.1.6。 我有一個庫存控制器和相應的inventories.js。

inventories.js

document.addEventListener("turbolinks:load", function() {

   function add_item_to_cart(target_elem) {
     item = $(target_elem).closest('.grid-item')[0].dataset;         
     quantity = $(target_elem).next().val();
     // and some operation wih the quantity element and item.    
   }

    $('.add-to-cart').on('click',function(){
      add_item_to_cart(this);       
    })
})

問題是每當我從控制台執行$(target_elem).next()。val()時,我都會從數量輸入框中獲取值。 但是當我執行jquery inventories.js時,它說

Uncaught ReferenceError: quantity is not defined
    at add_item_to_cart (inventories.self-65782850f63f3dad515dba7e67e72a65016e58fb0751ff2f6342d4183d7d2a0e.js?body=1:10)
at HTMLButtonElement.<anonymous> (inventories.self-65782850f63f3dad515dba7e67e72a65016e58fb0751ff2f6342d4183d7d2a0e.js?body=1:54)
at HTMLButtonElement.dispatch (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:5227)
at HTMLButtonElement.elemData.handle (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:4879)

同樣,當使用選擇器選擇元素時,我的jquery總是返回類似jQuery.fn.init的信息。 這是預期的行為嗎? 因為我以前從未遇到過這樣的事情。

item = $(target_elem).closest('.grid-item')
jQuery.fn.init [div.grid-item, prevObject: jQuery.fn.init(1), context: button.add-to-cart]

在我的Gemfile中

gem 'jquery-rails'
gem 'jquery-turbolinks'

行為是正確的,在javascript您需要使用varconstlet來表示變量:

var quantity = $(target_elem).next().val();

否則,它是未定義的變量。

暫無
暫無

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

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