我喜欢在windows加载上执行$('select[name="order_id"]').change()
,但不执行任何
如果我调试这是浏览器控制台,我可以看到脚本正在执行$('select[name="order_id"]').change()
,但没有发生任何不发送ajax请求的事情
如果我在浏览器控制台$('select[name="order_id"]').change()
中手动更改选择或粘贴,一切正常
有什么办法解决的吗?我也试过使用.trigger('change')
,但问题是
window.addEventListener("load", function (e) {
<?php if ($logged): ?>
$('select[name="order_id"]').change()
$('select[name="order_id"]').change(function(){
var order_id = $(this).val();
isSelectedOrder = true
$.ajax({
url: 'index.php?route=return/getProductsByOrderId',
data: {order_id:order_id},
dataType: 'json',
type: 'POST',
beforeSend: function(){
.......
.....
..
.
<?php endif; ?>
})
您的问题是在附加事件之前触发change()
,您所需要做的就是将change()
的触发器移动到附加事件之后。
window.addEventListener("load", function (e) {
<? php if ($logged): ?>
$('select[name="order_id"]').on('change', function () {
var order_id = $(this).val();
isSelectedOrder = true
$.ajax({
url: 'index.php?route=return/getProductsByOrderId',
data: { order_id: order_id },
dataType: 'json',
type: 'POST',
beforeSend: function () {
.......
},
});
});
$('select[name="order_id"]').change()
<? php endif; ?>
});
您可以使用此代码块
$( document ).ready(function() {
console.log( "ready!" );
});
参考:https://learn.jquery.com/using-jquery-core/document-ready/