Javascript 添加到前端问题-Magento中的购物车和产品选项字段

Javascript 添加到前端问题-Magento中的购物车和产品选项字段,javascript,php,jquery,magento,Javascript,Php,Jquery,Magento,我在产品视图页面上有一个问题。我添加了两个单选按钮来隐藏产品选项和显示。但是,当选择“隐藏”并且自定义字段处于隐藏状态时,我遇到了一个问题,当我按下“添加到购物车”按钮时,我出现了一个错误“请指定所需的产品选项”。是否有任何方法可以在购物车中添加字段为空的产品?因此,我们的想法是在选中hideRadio.click(function(){)时禁用验证 这是我的javascript代码,用于隐藏和显示单选按钮: var showRadio = jQuery('.product-option

我在产品视图页面上有一个问题。我添加了两个单选按钮来隐藏产品选项和显示。但是,当选择“隐藏”并且自定义字段处于隐藏状态时,我遇到了一个问题,当我按下“添加到购物车”按钮时,我出现了一个错误“请指定所需的产品选项”。是否有任何方法可以在购物车中添加字段为空的产品?因此,我们的想法是在选中hideRadio.click(function(){)时禁用验证

这是我的javascript代码,用于隐藏和显示单选按钮:

    var showRadio = jQuery('.product-options .display ul li:nth-child(2)').find('input');
    var hideRadio = jQuery('.product-options .display ul li:nth-child(1)').find('input');
        if(hideRadio){
             jQuery('.product-options dd, .product-options dt').hide();
             hideRadio.parents('dd').show();
                hideRadio.parents('dd').prevAll('dt:first').show();

        }

        hideRadio.click(function() {
          jQuery('.product-options dd, .product-options dt').hide();
          jQuery(this).parents('dd').show();
          jQuery(this).parents('dd').prevAll('dt:first').show();
        })
        showRadio.click(function() {
          jQuery('.product-options dd, .product-options dt').show();
        })
最新更新:

将此代码添加到if(hideRadio){


但是仍然是相同的消息“请指定产品所需的选项”。有人吗?

您应该使用类来隐藏和显示元素(将它们的可见性切换为.hidden或其他方便的方式),因为正如Jquery文档中所述,不同的元素可以有不同的行为


当您使用hide()时,元素及其子元素对其他jquery脚本变得“不可见”。我使用css绝对负位置来隐藏我的容器(所有涉及显示的内容:无,即使在css类中也使我的元素“不可见”)解决了这一问题

否不是问题,隐藏和显示功能工作正常,我无法通过验证,当我按“添加到购物车”时,如果字段是隐藏的,我会显示消息“请指定产品所需选项”这就是重点!这不是隐藏/显示功能是否有效的问题-它显然会起作用!这是因为它使选项容器不可见,这就是为什么找不到选项。我认为这是因为将其保留为空。这是另一个问题。如果需要选项,请设置默认选项。如果有默认选项,则就好像你没有任何字段一样-这是因为前面解释过。是的,我想这样保留所有这些字段,我不想删除必填字段,因为我需要在Show函数中使用它们,我只想做一些事情,在cart中添加产品,并隐藏字段
         hideRadio.parents('dd').prevAll('dt:first').remove();