我建议在 Shopify wiki 上查看此讨论:在产品页面上混合下拉和单选按钮
卡罗琳发布了这个答案:
这很困难,因为您需要使用 option_selection.js 将变体“解扰”为选项,并且 option_selection.js 会生成下拉菜单,每个选项一个。就个人而言,我会保留这一点。
您可以为您的颜色添加单选按钮——同时将颜色下拉菜单保留在页面上并使用 CSS 将其隐藏——然后在选中单选按钮时更新下拉列表中的选定选项。
在以下示例中,使用锚元素而不是单选按钮,但方法相同:
http ://wiki.shopify.com/Color_swatches_made_easy_in_Shopify
该色板教程的最新版本可在此处的 Shopify Wiki 上找到,我之前已经成功使用过它(尽管只有默认代码,而不是单选按钮)。
如果这对您不起作用,我认为您正在寻找一个更复杂的实现方式......请参阅我在 Shopify wiki 上找到的有关使用单选按钮的变体的其他讨论:
编辑:
在下面的评论中:
...仍然不确定我是否可以使用 javascript 元素将按钮分配给自定义变体标题。
我玩过这个想法,我不确定这是否正是你所追求的,但它可能会给你一些关于从哪里开始的想法。
我的变种是:
- 标准运输
- 3 天快递。额外 15 美元
- 2 天快递。额外 25 美元
我在product.liquid中的变体下方添加了一个跨度,我在其中显示估计的交货日期,以及一些 jQuery,它根据在 datepicker 中选择的发货日期更新跨度中的估计交货日期文本。

我在这个讨论中使用了来自 Caroline Schnapp 的代码来为变体创建单选按钮(和你做的一样)。我稍微修改了代码,在表单末尾之前的隐藏输入字段中添加了一个Line Item 属性:
<input type="hidden" id="delivery-date" name="properties[DeliveryDate]" />
并在此 jQuery 函数的末尾添加了 2 行,以在单击单选按钮时更新隐藏的行项目属性:
jQuery("input[type='radio']").click(function() {
var variant_price = jQuery(this).attr("data-price");
jQuery(".price-field span").html(variant_price);
var variant_compare_at_price = jQuery(this).attr("data-compare-at-price") || '';
jQuery(".price-field del").html(variant_compare_at_price);
var delivery_date = jQuery("ul li input[type='radio']:checked").siblings("span").html();
jQuery("#delivery-date").val(delivery_date);
});
然后,当用户单击“购买”按钮将商品添加到他们的购物车时,它会显示变体和订单项属性,如下所示:

不确定这是否正是您所追求的,但希望其中一些有用!
编辑2:
这是要点:https ://gist.github.com/stephsharp/6865599