請問
我目前要作一個數狀結構的選單
在第二層是用
<div class='second'>
包住 可是有一些沒有第二層 所以會造成 多出一個空的div
要如何把這個DIV刪除?
php
$arrTitle = array('0'=>'new[]','1'=>'self[]','2'=>'leave_sys[]','3'=>'overtime[]','3.1'=>'go_out[]','4'=>'basic[]','5'=>'erp[]','6'=>'per_sal[]');
foreach ($muAr as $key => $value){
echo '<label><input type="checkbox" class="title" name="title[]" onclick="checkAll(this,'."'".$arrTitle[$value['id']]."'".')" value="'.$value['id'].'">'.$value['title'].'</label><br>';
echo '<div class="second">';
foreach ($value as $k => $v) {
if(!is_array($v)) continue;
echo ' <label><input type="checkbox" name="'.$arrTitle[$value['id']].'" value="'.$v['id'].'">'.$v['title'].'</label><br>';
echo '<div class="third">';
foreach ($v as $k2 => $v2) {
if(!is_array($v2)) continue;
echo ' <label><input type="checkbox" name="'.$arrTitle[$value['id']].'" value="'.$v['id'].'">'.$v['title'].'</label><br>';
}
echo '</div>';
}
echo '</div>';
}
JS
$(document).ready(function(){
$(".second").prev().prev($("label")).before('<img class="expand" src="/media/image/portlet-expand-icon.png">');
$(".second").css('display','none');
$(".expand").on('click',function(){
var div = $(this).next().next().next('.second');
if(div.is(':visible')){
div.css('display','none');
$(this).attr('src','/media/image/portlet-expand-icon.png');
}else{
div.css('display','block');
$(this).attr('src','/media/image/portlet-collapse-icon.png');
}
});
});
function checkAll(obj,cName) {
var box = $('input[name="'+cName+'"]');
for(var i=0; i<box.length; i++){
box[i].checked = obj.checked;
}
}
沒有第二層就直接判斷不要放第二層,php裡面不要混用html字串…