-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathswatch-callback.js
38 lines (30 loc) · 1.07 KB
/
swatch-callback.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// BEGIN SWATCHES
if (variant) {
var form = jQuery('#' + selector.domIdPrefix).closest('form');
for (var i=0,length=variant.options.length; i<length; i++) {
var radioButton = form.find('.swatch[data-option-index="' + i + '"] :radio[value="' + variant.options[i] +'"]');
if (radioButton.size()) {
radioButton.get(0).checked = true;
}
}
}
var selectedColour = jQuery('.colour input:checked').parent().attr('data-value');
if (selectedColour.length > 0) {
var variants = selector.product.variants;
var variantTitles = [];
var i;
for (i = 0; i < variants.length; i++) {
variantTitles.push(variants[i].title);
}
jQuery('.size').each( function() {
var variantTitle = selectedColour + " / " + jQuery(this).attr('data-value');
var variantIndex = jQuery.inArray(variantTitle, variantTitles);
if (variantIndex != -1 && variants[variantIndex].available == true) {
jQuery(this).eq(0).removeClass('unavailable');
}
else {
jQuery(this).eq(0).addClass('unavailable');
}
});
}
// END SWATCHES