下面你可以看到两个功能。第二个完美的工作。它在更改选择菜单时提交数据。
我正在尝试将类似的逻辑应用于某个字段。当字段中的值更改时,我想要提交的数据,如js的第一位所示
尽管逻辑差不多,但我得到了这个错误
Uncaught ReferenceError: $ is not defined
9452:382 (anonymous function)
如果有人可以向我阐明这究竟是什么以及我如何解决它,我将非常感激。我的假设是它与事物加载的顺序有关,但是由于逻辑与旧逻辑没有区别,这肯定不是问题。
:javascript
$('#booking_package_#{package.id}').on("keyup change", function(){
var bookingPackageQuantity = document.getElementById("menu_item_#{package.id}");
$.ajax({
url: "/venues/#{venue.id}/bookings/#{booking.id}/booking_packages/#{@booking_package.id}/add_menu_item?menu_item_id="+bookingPackageQuantity,
type: "GET"
})
});
$('#menu_item_#{package.id}').on("change", function(){
var selects = document.getElementById("menu_item_#{package.id}");
var menuItemId = selects.options[selects.selectedIndex].value
$.ajax({
url: "/venues/#{venue.id}/bookings/#{booking.id}/booking_packages/#{@booking_package.id}/add_menu_item?menu_item_id="+menuItemId,
type: "GET"
})
});
我正在尝试将事件绑定到此字段
= number_field_tag 'quantity', booking.find_package(package).quantity, id: "booking_package_#{package.id}"
答案 0 :(得分:1)
在JS的第一部分,请提出价值。可能是破坏javascript,请尝试以下编辑的代码...
$('#booking_package_#{package.id}').on("keyup change", function(){
var bookingPackageQuantity = document.getElementById("menu_item_#{package.id}");
$.ajax({
url: "/venues/#{venue.id}/bookings/#{booking.id}/booking_packages/#{@booking_package.id}/add_menu_item?menu_item_id="+bookingPackageQuantity.value,
type: "GET"
})
});
如果你使用任何框架,请告诉我吗?这样我可以帮助你更好......