[英]Category Hierarchy with Selected and Disable Mode (PHP-MySQL)
我使用此代碼制作這樣的下拉列表,在更新模式下支持選定的父級
當前類別下拉列表(選擇類別1.1,類別1的子級)
public static function dropdown($parent, $child = null) {
static $level = 0;
static $return = '';
$search = self::all(array('parent' => $parent, 'status' => 1));
foreach ($search as $data) {
$level--;
$space = '';
for($i = 1; $i < ($level*-1); $i++) $space .= ' ';
if ($child == $data->id) $selected = 'selected';
else $selected = '';
$return .= '<option value="'.$data->id.'" '.$selected.'>'.$space.'- '.$data->name.'</option>';
self::dropdown($data->id, $child);
$level++;
}
return $return;
}
問題:當我更新類別1.1時,如何禁用所有類別1.1的孩子和他自己?
目標屏幕截圖:
嘗試這個 :
public static function dropdown($parent, $child = null, $isSelected=false) {
static $level = 0;
static $return = '';
$search = self::all(array('parent' => $parent, 'status' => 1));
foreach ($search as $data) {
$level--;
$space = '';
for($i = 1; $i < ($level*-1); $i++) $space .= ' ';
if ($child == $data->id || $isSelected){
$selected = 'selected';
$isSelected = true;
}else{
$selected = '';
}
$return .= '<option value="'.$data->id.'" '.$selected.'>'.$space.'- '.$data->name.'</option>';
self::dropdown($data->id, $child, $isSelected);
$level++;
}
return $return;
}
基本上,您必須轉移當前節點的狀態(是否選中),並將其轉移給他的孩子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.