function init_picker(selector, ordered) { | |
//console.log("init_picker"); | |
//console.log($(selector)); | |
var addBtn = $(selector).find(".btn-picker-add"); | |
var removeBtn = $(selector).find(".btn-picker-remove"); | |
var upBtn = $(selector).find(".btn-picker-up"); | |
var downBtn = $(selector).find(".btn-picker-down"); | |
var from = $(selector).find(".select-picker-from"); | |
var to = $(selector).find(".select-picker-to"); | |
if (!ordered) { | |
upBtn.hide(); | |
downBtn.hide(); | |
} | |
addBtn.click(function(){ | |
console.log("add"); | |
from.find(":selected").each( function() { | |
to.append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>"); | |
$(this).remove(); | |
}); | |
}); | |
removeBtn.click(function(){ | |
console.log("remove"); | |
to.find(":selected").each( function() { | |
from.append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>"); | |
$(this).remove(); | |
}); | |
}); | |
upBtn.bind('click', function() { | |
to.find(":selected").each( function() { | |
var newPos = to.find('option').index(this) - 1; | |
if (newPos > -1) { | |
to.find("option").eq(newPos).before("<option value='"+$(this).val()+"' selected='selected'>"+$(this).text()+"</option>"); | |
$(this).remove(); | |
} | |
}); | |
}); | |
downBtn.bind('click', function() { | |
var countOptions = to.find("option").size(); | |
to.find(":selected").each( function() { | |
var newPos = to.find("option").index(this) + 1; | |
if (newPos < countOptions) { | |
to.find("option").eq(newPos).after("<option value='"+$(this).val()+"' selected='selected'>"+$(this).text()+"</option>"); | |
$(this).remove(); | |
} | |
}); | |
}); | |
}; |