1 回答
TA贡献1869条经验 获得超4个赞
刚才设置data-selly-product的属性button,你必须使用.dataset属性。从链接引用:
JavaScript 中的自定义数据属性的名称是相同的 HTML 属性的名称,但采用驼峰命名,并且没有破折号、点等。
function getComboA(selectObject) {
const button = document.querySelector('button.js-addcart-detail');
button.dataset.sellyProduct = selectObject.value;
console.log(button);
}
<select class="js-select2" name="time" id="comboA" onchange="getComboA(this)">
<option value="">Choose an option</option>
<option value="3cffe13b">Size S</option>
<option value="M">Size M</option>
<option value="L">Size L</option>
<option value="XL">Size XL</option>
</select>
<button class="flex-c-m stext-101 cl0 size-101 bg1 bor1 hov-btn1 p-lr-15 trans-04 js-addcart-detail">Add to cart</button>
onchange我建议不使用属性,而是将其移至单独的文件并使用侦听器。这使您可以更好地将逻辑与表示分离,并且您可以向同一个元素添加多个侦听器。你只需要在代码中做一个小的调整:
document.getElementById('comboA').addEventListener('change', function() {
const button = document.querySelector('button.js-addcart-detail');
button.dataset.sellyProduct = this.value; // `this` is the element receiving the event
});
- 1 回答
- 0 关注
- 100 浏览
添加回答
举报