in webpos/webapp/webpos/images/js/ChooseVariant.js [123:218]
function selectVariant(data, firstTime) {
var variantTree = data.variantTree;
var variantTreeSize = data.variantTreeSize;
var featureOrder = data.featureOrder;
var featureTypes = data.featureTypes;
var variantSampleList = data.variantSampleList;
var selectList = "";
var featureValue = "";
if (variantTree != undefined && variantTreeSize > 0) {
if (featureOrder != undefined && featureOrder.length > 0) {
if (variantSampleList != undefined && variantSampleList.length > 0) {
if (featureTypes != undefined) {
var idx = 0;
var previousFeatureValue = "";
jQuery.each(featureOrder, function(i, actualFeature) {
var feature = featureTypes[actualFeature];
if (idx == 0) {
selectList = selectList + feature + " ";
selectList = selectList + "<select id=\"FT" + feature + "\" name=\"FT" + feature + "\">";
for (i = 0; i < variantSampleList.length; i++) {
selectList = selectList + "<option"
if (firstTime == 'N') {
var selectedFeatureValue = "#FT" + feature;
featureValue = jQuery(selectedFeatureValue).val();
if (featureValue == variantSampleList[i]) {
selectList = selectList + " selected";
}
} else {
featureValue = variantSampleList[0];
}
selectList = selectList + ">" + variantSampleList[i] + "</option>";
}
selectList = selectList + "</select><br/>";
} else {
var features = variantTree[previousFeatureValue];
selectList = selectList + feature + " ";
selectList = selectList + "<select id=\"FT" + feature + "\" name=\"FT" + feature + "\">";
for (var key in features) {
selectList = selectList + "<option"
if (firstTime == 'N') {
var selectedFeatureValue = "#FT" + feature;
var featureValue = jQuery(selectedFeatureValue).val();
if (featureValue == key) {
selectList = selectList + " selected";
}
}
selectList = selectList + ">" + key + "</option>";
}
selectList = selectList + "</select><br/>";
}
idx++;
previousFeatureValue = featureValue;
});
jQuery('#features').html(selectList);
var idx = 0;
var features = variantTree;
jQuery.each(featureOrder, function(i, actualFeature) {
var feature = featureTypes[actualFeature];
featureValue = "FT" + feature;
jQuery('#' + featureValue).on('change', function(event) {
selectVariant(variantData, 'N');
return false;
});
var featValue = jQuery('#' + featureValue).val();
idx++;
for (var key in features) {
if (key == featValue) {
if (idx == featureOrder.length) {
jQuery('#variantProductId').val(features[key]);
var param = 'productId=' + jQuery('#variantProductId').val();
jQuery.ajax({url: 'GetProductAndPrice',
data: param,
type: 'post',
async: false,
success: function(data) {
getResultOfGetProductAndPrice(data);
},
error: function(data) {
getResultOfGetProductAndPrice(data);
}
});
} else {
features = features[key];
}
}
}
});
}
}
}
}
jQuery('#variant').val('Y');
jQuery('#features').show();
jQuery('#chooseVariant').show();
jQuery('#variantQuantity').focus();
}