Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery更改产品页面上的输入值,该值将结转到购物车_Javascript_Php_Jquery_Wordpress_Woocommerce - Fatal编程技术网

Javascript jQuery更改产品页面上的输入值,该值将结转到购物车

Javascript jQuery更改产品页面上的输入值,该值将结转到购物车,javascript,php,jquery,wordpress,woocommerce,Javascript,Php,Jquery,Wordpress,Woocommerce,我使用一些jQuery来设置特定选择选项的值;我试图做到这一点,如果用户选择了某个选项,他们就必须购买设定数量(本例中为10)。我正在使用val(),这会设置它,但是当我将产品添加到购物车时,购物车页面仅显示1。我是否应该使用不同的jQuery函数,或者我想要实现的是更多的代码 jQuery(function($) { $('form').on('change', '#purchase', function(){ if($(this).val()=="Table of 1

我使用一些jQuery来设置特定选择选项的值;我试图做到这一点,如果用户选择了某个选项,他们就必须购买设定数量(本例中为10)。我正在使用
val()
,这会设置它,但是当我将产品添加到购物车时,购物车页面仅显示1。我是否应该使用不同的jQuery函数,或者我想要实现的是更多的代码

jQuery(function($) {
    $('form').on('change', '#purchase', function(){
        if($(this).val()=="Table of 10") {
            $('input[type="number"]').val("10").prop('disabled', true);
        }
    });
});

用周围所有的wordpress/woocommerce代码进行调试是很困难的, 我想我已经发现了问题所在

您不仅将该值更改为10,而且还禁用了阻止其提交的元素。您应该将其设置为只读,而不是禁用:

jQuery(function($) {
    $('form').on('change', '#purchase', function(){
        if($(this).val()=="Table of 10") {
            $('input[type="number"]').val("10").prop('readonly', true);
        }
    });
});

当心!这确实可以防止大多数用户输入更少的代码,但有代码经验的人可以检查代码,删除readonly或disable标记,只需更改值。您必须检查服务器端是否存在无效值。

是否可以添加html并将其更改为可运行的代码段?@Jester is my test page是否已设置功能。选择“表10”选项,添加到购物车,转到购物车,你会看到数量是1而不是10。嗯,我仍然在购物车页面上以
只读方式获得“1”数量,如果我检查代码,在我将选项更改为表10后,它仍然被禁用。如果我手动将其更改为只读,然后提交,它对我有效。在应用更改后,尝试检查元素是否确实正确执行,或者其他代码是否仍在禁用它。