У меня есть справка Тема, подобная этой:
Я хочу, чтобы пользователь не мог выбрать родительскую тему (ИТ, система и сообщить о проблеме)или Alert Warning, если пользователь выбирает Parent Toppic, пользователь должен выбрать Test .. или Access Issue.Код как это:
$(document).ready(function(){
var val = <?php echo Topic::getHelpTopicsTree();?> ;
$('#cc').combotree({
onChange: function (r) {
var c = $('#cc');
var t = c.combotree('tree'); // get tree object
var node = t.tree('getSelected');
var nodeLevel = t.tree('getLevel',node.target);
parentArry = new Array();
var parentArry = new Array();
var parents = getParentArry(t,node,nodeLevel,parentArry);
var parentStr = "";
if(parents.length > 0){
var parentStr = "";
for(var i = 0; i < parents.length; i++){
parentStr += parents[i].text + " / ";
}
}
$('#cc').combotree('setText', parentStr + node.text);
}
});
$('#cc').combotree({
onSelect: function (r) {
//Loads the dynamic form on selection
var data = $(':input[name]', '#dynamic-form').serialize();
$.ajax(
'ajax.php/form/help-topic/' + r.id,
{
data: data,
dataType: 'json',
success: function(json) {
$('#dynamic-form').empty().append(json.html);
$(document.head).append(json.media);
}
});
}
});
$('#cc').combotree('loadData', val);
function getParentArry(tree,selectedNode,nodeLevel,parentArry){
//end condition: level of selected node equals 1, means it's root
if(nodeLevel == 1){
return parentArry;
}else{//if selected node isn't root
nodeLevel -= 1;
//the parent of the node
var parent = $(tree).tree('getParent',selectedNode.target);
//record the parent of selected to a array
parentArry.unshift(parent);
//recursive, to judge whether parent of selected node has more parent
return getParentArry(tree,parent,nodeLevel,parentArry);
}
}
$('#cc').combotree('setText', '— <?php echo __('Select Help Topic'); ?> —');
});
Любая помощь приветствуется.Спасибо.