我有两个盒子,一个盒子叫做最小数量,另一个叫做最大数量。当您在最大金额中输入 100 时,它会查找低于 100 美元的产品。但是,当您稍后说最低金额为 50 美元时,除非您刷新页面,否则它不会工作
我的问题是,如何让这个脚本适用于我的两个盒子,就好像我将一个盒子用于 ajax,其他盒子在不刷新的情况下无法工作。
如果我听起来有点困惑,我很抱歉,但这是我迄今为止尝试过的方法,但它仍然不起作用。
<script>
//on keyup, start the countdown
$('#maxprice').keyup(function(){
doneTyping();
});
function doneTyping() {
var value = $('#maxprice').val();
$.post("script/limitedfetcher/maxprice.php",
{
name: value
},
function(data, status){
$("#loader").empty();
$('#loader').html(data);
});
}
</script>
<script>
$('#minprice').keyup(function(){
doneTyping();
});
function doneTyping() {
var value = $('#minprice').val();
$.post("script/limitedfetcher/minprice.php",
{
name: value
},
function(data, status){
$("#loader").empty();
$('#loader').html(data);
});
}
</script>
最佳答案
使用这个
!!
将 keyup 发生的元素传递给函数。
然后,根据两者中的哪一个...决定 URL...其余功能相同,无需定义两次。
<script>
//on keyup, start the countdown
$('#minprice, #maxprice').keyup(function(){
doneTyping(this);
});
function doneTyping(element) {
var value = $(element).val();
if($(element).attr("id")=="maxprice"){
url = "script/limitedfetcher/maxprice.php";
}else{
url = "script/limitedfetcher/minprice.php";
}
$.post(url,{
name: value
},
function(data, status){
$("#loader").empty();
$('#loader').html(data);
});
}
</script>
关于javascript - 两个ajax表单不能同时工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48088780/