我想生成一个多级分层选择选项,以在codeigniter中选择父类或其任何子类。我想将层次结构级别限制为3.即该选项必须显示父级,其第一级子级和子级别的子级别子级缩进到父级右侧。我在所有层次结构级别上都没有问题。但我无法生成特定层次结构级别的选择选项。在我的案例中,我需要三个层次的层次结构。任何人都可以帮助我。
这是我到目前为止所尝试的内容:
vector<string> myClass::getVariablesFromDescription(string f_description)
{
vector<string> l_variables;
stringstream l_desc;
l_desc << f_description;
string l_temp;
string l_prvStr = string();
for(int i=0; l_desc >> l_temp ; i++ )
{
if(l_temp == string("="))
{
l_variables.push_back(l_prvStr);
}
l_prvStr = l_temp;
}
return l_variables;
}
答案 0 :(得分:1)
限制递归涉及三个步骤:
在您的情况下,下面是$level
变量:
function multilevel_select($array,$parent_id = 0,$parents = array(), $level=0) {
// ....
if(in_array($element['id'], $parents) && $level < 2){ // your boundary here, 2 for third nesting level from root
$i++;
$menu_html .= $this->multilevel_select($array, $element['id'], $parents, $level+1);
}
}
}
$i--;
return $menu_html;
}