我在产品视图页面上遇到问题。我添加了两个单选按钮来隐藏产品选项并显示。但是当我选择隐藏并且自定义字段被隐藏时,我遇到了问题,当我按下添加到购物车按钮时,我收到此错误"请指定所需的产品选项。是否有任何字段为空的产品添加到购物车中?所以这个想法是在选择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){
hideRadio.parents('dd').prevAll('dt:first').remove();
但仍然相同的消息"请指定产品所需的选项。任何人?
你应该使用类来隐藏和显示元素(切换它们的可见性,如.hidden 或你方便的东西),因为正如 Jquery 文档中所说,不同的元素可以有不同的行为。
当你使用 hide() 时,元素及其子元素对其他 jquery 脚本变得"不可见"。我用 css 绝对负位置解决了这样的问题来隐藏我的容器(所有涉及 display:none 的内容,即使在 css 类中也使我的元素"不可见")