我得到了一个通过ajax提交的表单,然后由响应更新。
$(document).ready(function(){
$('.edit_customer').submit(function(event) {
console.log("test");
if(document.getElementById("sameAsBilling").checked == true){
$("#customer_addresses_attributes_1_line_1").val($("#customer_addresses_attributes_0_line_1").val());
$("#customer_addresses_attributes_1_line_2").val($("#customer_addresses_attributes_0_line_2").val());
$("#customer_addresses_attributes_1_city").val($("#customer_addresses_attributes_0_city").val());
$("#customer_addresses_attributes_1_state").val($("#customer_addresses_attributes_0_state").val());
$("#customer_addresses_attributes_1_zip_code").val($("#customer_addresses_attributes_0_zip_code").val());
}
});
});
我还尝试将侦听器更改为:
$(document).on("submit", ".edit_customer", function(){ console.log("test");});
这段代码根本不执行。
需要注意的一点是,我正在使用rubyonrails,它使用railsujs。我不知道为什么第二行代码不能解决这个问题。感谢您的帮助。
提前谢谢。
更新:
在我的表单中有另一个元素,我使用相同类型的代码启动JS,每次都可以正常工作。代码如下:
$(document).on('click', '#qb-customers-btn', function(){
//code here makes an ajax call and loads in data
});
<span class="input-group-text bg-success text-light" id="qb-customers-btn">Load</span>
更新:
我最终放弃了这个功能,只使用了一个按钮单击侦听器,但现在我又在不同的页面上的不同窗体上遇到了相同的问题。我想尽一切办法都试过了。目前唯一有效的方法是用一个
init
函数,调用
在document.load上,然后调用
初始化