Skip to content

Instantly share code, notes, and snippets.

@rlemon
Created December 14, 2011 14:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rlemon/1476879 to your computer and use it in GitHub Desktop.
Save rlemon/1476879 to your computer and use it in GitHub Desktop.
ssi filter js
var makeElm = function(type) {
return document.createElement(type);
};
var frm = document.forms.filter,
list_groups = document.getElementsByClassName('filter_groups')[0],
list_suppliers = document.getElementsByClassName('filter_suppliers')[0],
array_groups = [],
array_suppliers = [];
function addToList(selected, arr, list, delCallback) {
if (!selected.value || arr.indexOf(selected.value) !== -1) {
return;
}
var item = makeElm('div'),
del = makeElm('a');
item.appendChild(document.createTextNode(selected.textContent));
del.addEventListener('click', delCallback, false);
del.appendChild(document.createTextNode("[X]"));
del.id = selected.value;
item.appendChild(del);
list.appendChild(item);
arr.push(selected.value);
}
function removeFromList(obj, arr) {
var match = obj.id;
arr.splice(arr.indexOf(match), 1);
var item = obj.parentNode;
item.parentNode.removeChild(item);
}
var addGroupToList = function() {
addToList(this[this.selectedIndex], array_groups, list_groups, function() {
removeFromList(this, array_groups);
});
this[0].selected = true;
};
var addSupplierToList = function() {
addToList(this[this.selectedIndex], array_suppliers, list_suppliers, function() {
removeFromList(this, array_suppliers);
});
this[0].selected = true;
};
frm.groups.addEventListener('change', addGroupToList, false);
frm.suppliers.addEventListener('change', addSupplierToList, false);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment