原型 我在几个检查箱上听了一次点击事件。 在检查箱中,我想要排除所有<代码><select>内容。 使用原型。 因此,我有这一法典:
$$( .silhouette-items input[type="checkbox"] ).invoke( observe , click , function(event) {
var liItem = this.up( li.item );
if(this.checked) {
alert( checked );
liItem.removeClassName( inactive );
var selectItem = liItem.select( select );
for(i=0;i<selectItem.length;i++) {
selectItem[i].disabled=false;
if (selectItem[i].hasClassName( super-attribute-select )) {
selectItem[i].addClassName( required-entry );
}
}
} else {
alert( unchecked );
liItem.addClassName( inactive );
var selectItem = liItem.select( select );
for(i=0;i<selectItem.length;i++){
selectItem[i].disabled=true;
if (selectItem[i].hasClassName( super-attribute-select )) {
selectItem[i].removeClassName( required-entry );
}
}
}
calculatePrice();
});
When I manually click on the checkbox, everything seems to be fine. All elements are disabled as wanted. However, I have also this button which on click event it fires one function which fires click event on that checkbox.
在操作浏览器中,它发挥作用。 在其他情况下,不是。 它像头号(un)剪辑,然后执行活动。 第一次火灾,然后是(un)检查。
我不知道如何解决这一问题。
传真:
<ul class="silhouette-items">
<li>
<input type="checkbox" checked="checked" id="include-item-17" class="include-item"/>
<select name="super_attribute[17][147]">(...)</select>
<select name="super_group[17]">(...)</select>
<button type="button" title="button" onclick="addToCart(this, 17)">Add to cart</button>
</li>
<!-- Repeat li few time with another id -->
</ul>
另一项联合材料:
addToCart = function(button, productId) {
inactivateItems(productId);
productAddToCartForm.submit(button);
}
inactivateItems = function(productId) {
$$( .include-item ).each(function(element) {
var itemId = element.id.replace(/[a-z-]*/, );
if (itemId != productId && element.checked) {
simulateClickOnElement(element);
}
if (itemId == productId && !element.checked) {
simulateClickOnElement(element);
}
});
}
simulateClickOnElement = function(linkElement) {
fireEvent(linkElement, click );
}
在<条码>火线条码>是指引发事件的Magento功能