我有三种具有以下结构的产品:
复选框标签(相同的文本,但不同的标签值)|数量下拉列表(不同的输入名称)

它们具有三个不同的标签“类”:

1st-<label for="related-checkbox-7087458-Z22-00026">
第二名-<label for="related-checkbox-7087458-Z22-00027">
第三名-<label for="related-checkbox-7087458-Z22-00028">

它们之间的共同点是文字:“包括免费保险”

我也有三个QTY(数量框),它们的输入名称不同:

1st-name="related_products[7087458][2536][qty]"
第二名-name="related_products[7087458][2537][qty]"
第三名-name="related_products[7087458][2538][qty]"

到目前为止,我知道如何将第一个产品的数量更改为“ 1”(默认为0),但是我不确定如何针对第二个产品使用不同的“ label for”属性和不同的“ input name”作为目标。我尝试添加第二条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/

10-11 08:11