我有两个盒子,一个盒子叫最小量,另一个叫最大量。当您在最大金额中输入 100 时,它会找到低于 100 美元的产品。但是,当您在最低金额中输入 lets 稍后说 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>
使用 this
!!
将发生键控的元素传递给函数。
然后,根据两者中的哪一个...决定网址...函数的其余部分是相同的,无需定义两次。
<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>