2013-07-16 23 views
4

有誰知道如何把複選框放入CTree ??我已經有我的treeview但我不知道如何把複選框,就可以和return 0 || 1結果..請幫助..謝謝..CHECKBOX在CTreeView

array("id"=>1,"name"=>"<b>SALES</b>","parents"=> 
    array(
     array("id"=>10,"name"=>"<b>Sales Order</b>","parents"=> 
      array(
       array("id"=>100,"name"=>"Allow view Transaction PO", 
         array('text' => CHtml::checkBox('name', true)),"parents" 

       ), 
       array("id"=>101,"name"=>"Allow Click Edit Button PO","parents" 

       ), 
       array("id"=>101,"name"=>"Allow Click New Button PO","parents" 

       ), 
       array("id"=>101,"name"=>"Allow Click Save Button PO","parents" 

       ), 
       array("id"=>101,"name"=>"Allow Click Change Document# PO","parents" 

       ), 
       array("id"=>101,"name"=>"Allow Click Delete Button PO","parents" 

       ), 
       array("id"=>101,"name"=>"Allow Click Print Button PO","parents" 

       ), 
       array("id"=>101,"name"=>"Allow Click Lock Button PO","parents" 

       ), 
       array("id"=>101,"name"=>"Allow Click Unlock Button PO","parents" 

       ), 
       array("id"=>101,"name"=>"Un Allow Change Amount PO","parents" 

       ), 
      ), 
     ), 
    ), 
) 
+0

你的意思是'CTree'擴展或'CTreeView'與警予捆綁? – 2013-09-04 11:11:33

回答

3

中每個元素的文本屬性嘗試複選框:

array(
    ..., 
    'text' => CHtml::checkBox('name', true|false) .... 
) 
+0

我不熟悉'CTreeView',但是文本會轉義html嗎?或不? – 2013-09-05 12:25:23

+0

是的。正如它在文本中所做的那樣,將添加一個html複選框。 – Maykonn

3

嘗試使用dynatree
創建樹新功能:mytree()

$(function() { 
    $("#tree2").dynatree({ 
     checkbox: true, 
     selectMode: 2, 
     children: <?php echo json_encode(Department::model()->mytree(75))?>, 
     onSelect: function (select, node) { 
      // Display list of selected nodes 
      var selNodes = node.tree.getSelectedNodes(); 
      // convert to title/key array 
      var selKeys = $.map(selNodes, function (node) { 
       return node.data.ID; 
      }); 
      $("#echoSelection2").text(selKeys.join(", ")); 
      // $("#departments").val(selKeys.join(", ")); 
     }, 
     onClick: function (node, event) { 
      // We should not toggle, if target was "checkbox", because this 
      // would result in double-toggle (i.e. no toggle) 
      if (node.getEventTargetType(event) == "title") 
       node.toggleSelect(); 
     }, 
     onKeydown: function (node, event) { 
      if (event.which == 32) { 
       node.toggleSelect(); 
       return false; 
      } 
     }, 
    } 
} 

HTML代碼

<div id="tree2" style="max-height: 250px;max-width:300px;overflow:scroll; " class="noshowchecktree controls "></div> 


結果:
enter image description here

+1

不錯,適合我!非常有幫助,謝謝@Botir Ziyatov –