在 Ajax 查询的输入字段中更正 Javascript 的事件侦听器
Correct event listener for Javascript in input field for Ajax Query
我想要发生的是,在选择成员后,将自动输入省、镇和描笼涯,但我想为该省添加另一个侦听器以再次查询运输方式,但我的代码是不在
工作
$("#member_id").change(function () {
var value=$(this).val();
$.ajax({
type : 'get',
url : '/panel/admin/members/search_id',
data:{'search':value},
success:function(data){
//console.log(data);
$("#loading_member").css("display", "block");
setTimeout(function(){
$("#loading_member").css("display", "none");
$('#province').val(data.province);
$('#city_town').val(data.city_num);
$('#brgy').val(data.brgy);
$('#member_code').val(data.member_code);
},500);
}
});
});
这部分不工作,我不知道确切的用途。
const provincelist = document.querySelector('#province');
provincelist.addEventListener('provincelist', updateValue);
function updateValue() {
var value=$('#province').val();
$.ajax({
type : 'get',
url : '{{route("panel.admin.search_province")}}',
data:{'search':value},
success:function(data){
$("#loading_shipping").css("display", "block");
setTimeout(function(){
$("#loading_shipping").css("display", "none");
$('#shipping_method').find('option').remove().end();
$('#shipping_method').append(data);
},500);
}
});
console.log(value);
}
这是正确的做法吗?我只想在每次 $('#province').val(data.province)
有值时再执行一次 ajax 查询。
有人可以帮助我吗?
我建议:
provincelist.addEventListener('change', updateValue);
第一个参数是事件名称,第二个参数是事件发生时执行的回调。 'provincelist'
不是已知事件。参见 eventListener。
现在,事件从用户操作中触发。如果 #province
的值像第一个 Ajax 成功回调那样以编程方式更改,则不会有 change
事件。但是您可以在值更改后立即调用 updateValue()
函数。
success:function(data){
//console.log(data);
$("#loading_member").css("display", "block");
setTimeout(function(){
$("#loading_member").css("display", "none");
$('#province').val(data.province);
$('#city_town').val(data.city_num);
$('#brgy').val(data.brgy);
$('#member_code').val(data.member_code);
updateValue(); // <-------------- Call the second Ajax here
},500);
}
我想要发生的是,在选择成员后,将自动输入省、镇和描笼涯,但我想为该省添加另一个侦听器以再次查询运输方式,但我的代码是不在
工作$("#member_id").change(function () {
var value=$(this).val();
$.ajax({
type : 'get',
url : '/panel/admin/members/search_id',
data:{'search':value},
success:function(data){
//console.log(data);
$("#loading_member").css("display", "block");
setTimeout(function(){
$("#loading_member").css("display", "none");
$('#province').val(data.province);
$('#city_town').val(data.city_num);
$('#brgy').val(data.brgy);
$('#member_code').val(data.member_code);
},500);
}
});
});
这部分不工作,我不知道确切的用途。
const provincelist = document.querySelector('#province');
provincelist.addEventListener('provincelist', updateValue);
function updateValue() {
var value=$('#province').val();
$.ajax({
type : 'get',
url : '{{route("panel.admin.search_province")}}',
data:{'search':value},
success:function(data){
$("#loading_shipping").css("display", "block");
setTimeout(function(){
$("#loading_shipping").css("display", "none");
$('#shipping_method').find('option').remove().end();
$('#shipping_method').append(data);
},500);
}
});
console.log(value);
}
这是正确的做法吗?我只想在每次 $('#province').val(data.province)
有值时再执行一次 ajax 查询。
有人可以帮助我吗?
我建议:
provincelist.addEventListener('change', updateValue);
第一个参数是事件名称,第二个参数是事件发生时执行的回调。 'provincelist'
不是已知事件。参见 eventListener。
现在,事件从用户操作中触发。如果 #province
的值像第一个 Ajax 成功回调那样以编程方式更改,则不会有 change
事件。但是您可以在值更改后立即调用 updateValue()
函数。
success:function(data){
//console.log(data);
$("#loading_member").css("display", "block");
setTimeout(function(){
$("#loading_member").css("display", "none");
$('#province').val(data.province);
$('#city_town').val(data.city_num);
$('#brgy').val(data.brgy);
$('#member_code').val(data.member_code);
updateValue(); // <-------------- Call the second Ajax here
},500);
}