$(function() { $('#parent').change(function() { var programID = $(this).val(); setAclList(programID); /* Determine whether the project can change the project set. */ link = createLink('project', 'ajaxCheckProduct', 'programID=' + programID + '&projectID=' + projectID); $.getJSON(link, function(data) { var changed = true; if(data && data.result) { changed = confirm(data.message); if(changed) { $('#productsBox select').prop('disabled', true).trigger("chosen:updated"); } } if(data && !data.result) { $('#promptTable tbody tr').remove(); for(var i in data.message) { var product = data.message[i]; $('#promptTable').append(" " + product +" " + linkedProjectsTip +""); for(var j in data.multiLinkedProjects) { if(i == j) { html = '' for(k in data.multiLinkedProjects[j]) { var project = data.multiLinkedProjects[j][k]; html += "

" + project +"

"; } $('#promptTable').append("" + html + ""); } } } changed = false; $('#promptBox').modal({show: true}); } if(!changed) $("#parent").val(oldParent).trigger("chosen:updated"); oldParent = $('#parent').val(); }); }); adjustProductBoxMargin(); adjustPlanBoxMargin(); /* If the story of the product which linked the execution under the project, you don't allow to remove the product. */ $("#productsBox select").each(function() { var isExisted = $.inArray($(this).attr('data-last'), unmodifiableProducts); if(isExisted != -1) { $(this).prop('disabled', true).trigger("chosen:updated"); $(this).siblings('div').find('span').attr('title', tip); } }); }); /** * Set aclList. * * @param int $programID * @access public * @return void */ function setAclList(programID) { if(programID != 0) { $('.aclBox').html($('#programAcl').html()); } else { $('.aclBox').html($('#projectAcl').html()); } }