下面可以看到两个函数。第二种效果很好。当选择菜单发生更改时,它会提交数据。
我正试图将类似的逻辑应用到一个领域。当字段中的值更改时,我希望提交数据,如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}"
在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"
})
});
你能告诉我你是否在使用任何框架吗?这样我就能更好地帮助你。。。