Php 无法使用jquery正常工作

Php 无法使用jquery正常工作,php,jquery,wordpress,woocommerce,Php,Jquery,Wordpress,Woocommerce,这是我第一次使用woocommerce,我的购物车页面出现了一些问题,当我添加了一个以上的产品,增加或减少任何产品时,它将增加所有产品的数量 例如:我添加了数量为2的产品a和数量为7的产品b 如果我将产品b增加到8,那么产品a的数量也将增加到8 代码: <script> jQuery('.plus').on('click',function(e){ var val = parseInt(jQuery('input[title="Qty"]').val()); jQuery('inp

这是我第一次使用woocommerce,我的购物车页面出现了一些问题,当我添加了一个以上的产品,增加或减少任何产品时,它将增加所有产品的数量

例如:我添加了数量为2的产品a和数量为7的产品b

如果我将产品b增加到8,那么产品a的数量也将增加到8

代码:

<script>
jQuery('.plus').on('click',function(e){
var val = parseInt(jQuery('input[title="Qty"]').val());

jQuery('input[title="Qty"]').val( val+1 );
});

jQuery('.minus').on('click',function(e){
var val = parseInt(jQuery('input[title="Qty"]').val());
if(val !== 0){

jQuery('input[title="Qty"]').val( val-1 );
} });
</script>

jQuery('.plus')。on('click',函数(e){
var val=parseInt(jQuery('input[title=“Qty”]”)。val();
jQuery('input[title=“Qty”]').val(val+1);
});
jQuery('.减号')。on('click',函数(e){
var val=parseInt(jQuery('input[title=“Qty”]”)。val();
如果(val!==0){
jQuery('input[title=“Qty”]”)val(val-1);
} });
还有一件事,价格保持不变,即使我增加产品或减少

HTML输出:goo.gl/h3w4IQ

实际购物车页面:goo.gl/9ynStK


请告诉我此jQuery代码不起作用的原因,以及如何根据产品数量增加/减少价格。

在jQuery代码中,您在执行加号或减号操作时选择了所有DOM
输入。实际上,您需要一个特定的选择器来仅更改相邻输入的值。请用此代码替换您的代码。我已经测试过了,它是有效的

jQuery(document).ready(function($) {
    // Attach event on plus
    // We delegate the event to document
    // So that even if there are 100 of plus buttons
    // It would not slow down the page
    $(document).on( 'click', '.plus', function(e) {
        // Get the right element
        var elem = $(this).prev('.qty'),
        // and its value
        val = parseInt( elem.val() );
        // Sanitize the value
        if ( isNaN( val ) ) {
            val = 0;
        }
        if ( val < 0 ) {
            val = 0;
        }
        // Now increase it
        elem.val( ++val ).trigger('change');
    } );

    // Similar appraoch for the minus button
    $(document).on( 'click', '.minus', function(e) {
        // Get the right element
        var elem = $(this).next('.qty'),
        val = parseInt( elem.val() );
        // Sanitize the value
        if ( isNaN( val ) ) {
            val = 0;
        }
        // decrease the value
        val = val - 1;
        // but not a negative
        if ( val < 0 ) {
            val = 0;
        }
        // Set it
        elem.val( val ).trigger('change');
    } );
});
jQuery(文档).ready(函数($){
//将事件附加到plus上
//我们将事件委托给文档
//所以即使有100个加号按钮
//它不会减慢页面的速度
$(文档).on('单击','.plus',函数(e){
//获取正确的元素
var elem=$(this).prev('.qty'),
//及其价值
val=parseInt(elem.val());
//清理该值
if(伊斯南(瓦尔)){
val=0;
}
if(val<0){
val=0;
}
//现在增加它
元素val(++val).trigger('change');
} );
//减号按钮的类似方法
$(文档).on('单击','减号',函数(e){
//获取正确的元素
var elem=$(this).next('.qty'),
val=parseInt(elem.val());
//清理该值
if(伊斯南(瓦尔)){
val=0;
}
//减小该值
val=val-1;
//但不是消极的
if(val<0){
val=0;
}
//定下来
元素val(val).trigger('change');
} );
});

在jQuery代码中,您在执行加号或减号操作时选择了所有DOM
输入。实际上,您需要一个特定的选择器来仅更改相邻输入的值。请用此代码替换您的代码。我已经测试过了,它是有效的

jQuery(document).ready(function($) {
    // Attach event on plus
    // We delegate the event to document
    // So that even if there are 100 of plus buttons
    // It would not slow down the page
    $(document).on( 'click', '.plus', function(e) {
        // Get the right element
        var elem = $(this).prev('.qty'),
        // and its value
        val = parseInt( elem.val() );
        // Sanitize the value
        if ( isNaN( val ) ) {
            val = 0;
        }
        if ( val < 0 ) {
            val = 0;
        }
        // Now increase it
        elem.val( ++val ).trigger('change');
    } );

    // Similar appraoch for the minus button
    $(document).on( 'click', '.minus', function(e) {
        // Get the right element
        var elem = $(this).next('.qty'),
        val = parseInt( elem.val() );
        // Sanitize the value
        if ( isNaN( val ) ) {
            val = 0;
        }
        // decrease the value
        val = val - 1;
        // but not a negative
        if ( val < 0 ) {
            val = 0;
        }
        // Set it
        elem.val( val ).trigger('change');
    } );
});
jQuery(文档).ready(函数($){
//将事件附加到plus上
//我们将事件委托给文档
//所以即使有100个加号按钮
//它不会减慢页面的速度
$(文档).on('单击','.plus',函数(e){
//获取正确的元素
var elem=$(this).prev('.qty'),
//及其价值
val=parseInt(elem.val());
//清理该值
if(伊斯南(瓦尔)){
val=0;
}
if(val<0){
val=0;
}
//现在增加它
元素val(++val).trigger('change');
} );
//减号按钮的类似方法
$(文档).on('单击','减号',函数(e){
//获取正确的元素
var elem=$(this).next('.qty'),
val=parseInt(elem.val());
//清理该值
if(伊斯南(瓦尔)){
val=0;
}
//减小该值
val=val-1;
//但不是消极的
if(val<0){
val=0;
}
//定下来
元素val(val).trigger('change');
} );
});

cool它可以正常工作,但价格并没有因此而上涨/下跌,这超出了我所能提供的范围,因为我认为它需要转到服务器来计算所有价格。也许其他人可以帮你。但根据我的经验,当你增加购物车中的产品数量时,你会要求用户进行更新,或者通过服务器调用ajax进行更新。这对我帮助很大,谢谢:)顺便问一下,你知道当用户增加数量时如何调用ajax来更新购物车吗?如果我没记错的话,你说你使用WooCommerce来管理购物车,WooCommerce购物车具有更新按钮,用户需要单击该按钮来更新数量。然而,我发现了一个插件,它将通过ajax更新购物车,您可能想试试。此外,我还更改了这个插件可能需要的JS,以便与加号和减号按钮一起使用。很酷,它可以工作,但价格仍然不会随此井而增加/减少,这超出了我的能力,因为我认为它需要转到服务器来计算所有的价格。也许其他人可以帮你。但根据我的经验,当你增加购物车中的产品数量时,你会要求用户进行更新,或者通过服务器调用ajax进行更新。这对我帮助很大,谢谢:)顺便问一下,你知道当用户增加数量时如何调用ajax来更新购物车吗?如果我没记错的话,你说你使用WooCommerce来管理购物车,WooCommerce购物车具有更新按钮,用户需要单击该按钮来更新数量。然而,我发现了一个插件,它将通过ajax更新购物车,您可能想试试。此外,我还更改了JS,这可能是该插件使用加号和减号按钮所必需的。