我有一个带有 3 个选项的单选按钮自定义选项。例如,在选择选项 2 时,我希望一个简单的 JSalert()
弹出有关此选择的消息,而不是所有选项,只有一个。
我发现的问题是,为了使其与所有具有 JS 生成的 ID 和类名的产品兼容,因此几乎没有什么模式可以遵循以确保我的代码适用于所有产品。
我可以通过仅寻找该元素并使用 获得第二个元素来做到这一点getElementByTag()
,但是我想要一种对 Magento 友好的方式来做到这一点,因为我将在接下来的几个月中获得认证,并希望确保我的实践保持在-与 Magento 保持一致,而不是“解决”它。
示例代码(Magento 动态生成的 ID、类和名称)
<dd class="last">
<ul id="options-54765-list" class="options-list">
<li>
<input type="radio" class="radio validate-one-required-by-name product-custom-option" onclick="opConfig.reloadPrice()" name="options[54765]" id="options_54765_2" value="210674" />
<span class="label"><label for="options_54765_2">Colour Edge </label></span>
<script type="text/javascript">$('options_54765_2').advaiceContainer = 'options-54765-container';$('options_54765_2').callbackFunction = 'validateOptionsCallback';</script>
</li>
<li>
<input type="radio" class="radio validate-one-required-by-name product-custom-option" onclick="opConfig.reloadPrice()" name="options[54765]" id="options_54765_3" value="210673" />
<span class="label"><label for="options_54765_3">Gallery Wrap </label></span>
<script type="text/javascript">$('options_54765_3').advaiceContainer = 'options-54765-container';$('options_54765_3').callbackFunction = 'validateOptionsCallback';</script>
</li>
<li>
<input type="radio" class="radio validate-one-required-by-name product-custom-option" onclick="opConfig.reloadPrice()" name="options[54765]" id="options_54765_4" value="210672" />
<span class="label"><label for="options_54765_4">White Edge </label></span>
<script type="text/javascript">$('options_54765_4').advaiceContainer = 'options-54765-container';$('options_54765_4').callbackFunction = 'validateOptionsCallback';</script>
</li>
</ul>
</dd>