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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
// The fillProjectDropdown function populates the project combo box with
// projects associated with a selected client (client id is passed here as id).
function fillProjectDropdown(id) {
var str_ids = project_ids[id];
var dropdown = document.getElementById("project");
// Determine previously selected item.
var selected_item = dropdown.options[dropdown.selectedIndex].value;
// Remove existing content.
dropdown.length = 0;
var project_reset = true;
// Add mandatory top option.
dropdown.options[0] = new Option(empty_label_project, '', true);
// Populate project dropdown.
if (!id) {
// If we are here, client is not selected.
var len = projects.length;
for (var i = 0; i < len; i++) {
dropdown.options[i+1] = new Option(projects[i][1], projects[i][0]);
if (dropdown.options[i+1].value == selected_item) {
dropdown.options[i+1].selected = true;
project_reset = false;
}
}
} else if (str_ids) {
var ids = new Array();
ids = str_ids.split(",");
var len = ids.length;
for (var i = 0; i < len; i++) {
var p_id = ids[i];
dropdown.options[i+1] = new Option(project_names[p_id], p_id);
if (dropdown.options[i+1].value == selected_item) {
dropdown.options[i+1].selected = false;
project_reset = false;
}
}
}
// If project selection was reset - clear the tasks dropdown.
if (project_reset) {
dropdown = document.getElementById("task");
dropdown.length = 0;
dropdown.options[0] = new Option(empty_label_task, '', true);
}
}
// The fillTaskDropdown function populates the task combo box with
// tasks associated with a selected project (project id is passed here as id).
function fillTaskDropdown(id) {
var str_ids = task_ids[id];
var dropdown = document.getElementById("task");
// Determine previously selected item.
var selected_item = dropdown.options[dropdown.selectedIndex].value;
// Remove existing content.
dropdown.length = 0;
// Add mandatory top option.
dropdown.options[0] = new Option(empty_label_task, '', true);
// Populate the dropdown from the task_names array.
if (str_ids) {
var ids = new Array();
ids = str_ids.split(",");
var len = ids.length;
var idx = 1;
for (var i = 0; i < len; i++) {
var t_id = ids[i];
if (task_names[t_id]) {
dropdown.options[idx] = new Option(task_names[t_id], t_id);
idx++;
}
}
// If a previously selected item is still in dropdown - select it.
if (dropdown.options.length > 0) {
for (var i = 0; i < dropdown.options.length; i++) {
if (dropdown.options[i].value == selected_item) {
dropdown.options[i].selected = true;
}
}
}
}
} |
Partager