由于无法获得尽可能少的代码,我向您致歉,但是我目前正在Shopify网站(我没有构建)上工作,并且我希望不选择默认变体。例如,如果您转到此页面https://thriveworkwear.com/products/carpenter-work-pants-5300-pro,您将看到默认选项为颜色:山核桃色腰围:30W下se:30L。
有没有办法禁用默认变体功能?这意味着没有选择任何变体,用户必须手动选择它们。
我尝试遵循此指南https://help.shopify.com/zh-CN/themes/customization/products/variants/how-to-add-a-pick-an-option-to-drop-downs和此指南,但是它们DIDN不起作用。
我也尝试添加以下内容:
document.querySelector('input[name="name0"]:checked').checked = false;
document.querySelector('input[name="name1"]:checked').checked = false;
document.querySelector('input[name="name2"]:checked').checked = false;
到theme.js文件,但没有成功。如果我通过“控制台”选项卡添加了它,但在网站上添加它时似乎没有用。
任何帮助表示赞赏。
似乎这些选项是从以下APP生成的:https : //apps.shopify.com/best-custom-product-options
这意味着所有内容都是使用您可能无法控制的Javascript生成的。
如果其中有一个选项可以禁用默认选择的选项,或者在应用该选项时可以收听的事件,则必须显示该应用。
最后一行是使用Mutation Observer并等待表单中的HTML修改来激发您的代码,但这是最后的方法,如果没有其他效果。
很棒的滴水!非常感谢。绝对是导致它的应用程序,我能够进行所需的更改。话虽如此。我很好奇为什么我添加的以单选按钮为目标的javascript在页面加载后才起作用。
setTimeout(function(){
document.querySelector('input[name="name0"]:checked').checked = false;
}, 3000);
@Efrain Lemus Apps依靠ScriptTag API时,通常需要花费更多时间在前端加载,尤其是当他们请求收集信息时。因此,它们不会在DOM准备就绪时加载,有时甚至在窗口加载时也不会加载。因此,在这种情况下,您将必须寻找一个在其代码完成(如果有)后就触发的钩子,否则您将不得不考虑其他事情。如果您知道setTimeout不会超过3000毫秒,则可以使用setTimeout,但是通常,使用突变观察器或setInterval(如果编写正确)可能会更好。