blob: 0302cf416465a468a95006707ccf3f2b849f2a8e [file] [log] [blame]
Scott Baker2cbb6072014-12-16 22:49:42 -08001function init_picker(selector, ordered) {
2 //console.log("init_picker");
3 //console.log($(selector));
4
5 var addBtn = $(selector).find(".btn-picker-add");
6 var removeBtn = $(selector).find(".btn-picker-remove");
7 var upBtn = $(selector).find(".btn-picker-up");
8 var downBtn = $(selector).find(".btn-picker-down");
9 var from = $(selector).find(".select-picker-from");
10 var to = $(selector).find(".select-picker-to");
11
12 if (!ordered) {
13 upBtn.hide();
14 downBtn.hide();
15 }
16
17 addBtn.click(function(){
18 console.log("add");
19 from.find(":selected").each( function() {
20 to.append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>");
21 $(this).remove();
22 });
23 });
24 removeBtn.click(function(){
25 console.log("remove");
26 to.find(":selected").each( function() {
27 from.append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>");
28 $(this).remove();
29 });
30 });
31 upBtn.bind('click', function() {
32 to.find(":selected").each( function() {
33 var newPos = to.find('option').index(this) - 1;
34 if (newPos > -1) {
35 to.find("option").eq(newPos).before("<option value='"+$(this).val()+"' selected='selected'>"+$(this).text()+"</option>");
36 $(this).remove();
37 }
38 });
39 });
40 downBtn.bind('click', function() {
41 var countOptions = to.find("option").size();
42 to.find(":selected").each( function() {
43 var newPos = to.find("option").index(this) + 1;
44 if (newPos < countOptions) {
45 to.find("option").eq(newPos).after("<option value='"+$(this).val()+"' selected='selected'>"+$(this).text()+"</option>");
46 $(this).remove();
47 }
48 });
49 });
50};