我有三个具有以下结构的产品:
勾选框|标签(相同文本,但值的标签不同)|数量下拉列表(不同输入名称)
它们具有三个不同的标签“类”:
第一 - <label for="related-checkbox-7087458-Z22-00026">
第二 - <label for="related-checkbox-7087458-Z22-00027">
第三名 - <label for="related-checkbox-7087458-Z22-00028">
它们之间的共同点是文字:“包含免费保险”
我还有三个具有不同输入名称的 QTY(数量框):
第一 - name="related_products[7087458][2536][qty]"
第二 - name="related_products[7087458][2537][qty]"
第三名 - name="related_products[7087458][2538][qty]"
到目前为止,我知道如何将第一个产品的数量更改为“1”(默认为 0),但是我不确定如何使用不同的“标签”来定位第二个产品属性和不同的“输入名称”。我尝试添加第二个 if 语句,但这似乎不起作用。
请注意,我试图将包含以下文本的产品的数量更改为一个:包含免费保险
请看我的JSFIDDLE
最佳答案
JS 中的输入选择器太具体。
尝试将 JS 中的选择器(第 7 行)替换为:
var input = label.parentNode.nextElementSibling.nextElementSibling.querySelector('input[type="text"].input-qty');
关于javascript - 检查是否有两个或多个具有相同类的元素并启动一些事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34808488/