2015-04-06 17 views
0

我有一個樹視圖是使用jquery 樹視版本1.4實施。 TreeView控件實現如下檢查一個單選按鈕onload,並相應地擴展樹視圖使用jQuery的

<div id="container"> 
    <ul id="outerlist"> 
     <li> 
     <span>level-1</span> 
     <ul> 
      <li> 
       <span>level-2</span> 
       <ul> 
        <li> 
        <input type="radio" name="lastnode" value="125" onclick="somefunction()" /> 
        <span>lastnodetext</span> 
        </li> 
       </ul> 
      </li> 
     </ul> 
     </li> 
    </ul> 
</div> 

我需要的是,爲onload的lastnode單選按鈕進行檢查和所有的父節點進行擴展(注:有多個層次和單選按鈕在樹)。

下面是我已經使用達致這

$('#container').find(':radio').each(function (index, value) { 
var $this = $(this); 
if ($this.val() != undefined && $this.val() == "125") { 
    $this.attr('checked', 'checked'); 
    $(this).parents('ul').show(); 
    return false; 
}}); 

此代碼工作在選擇單選按鈕,擴大水平-2和1級節點的方面完全沒有問題的代碼。儘管圖像(+或 - )不會更改。我怎麼能達到這個

在此先感謝!

+0

哪裏是你的+/- 圖像? – 2015-04-06 05:49:15

+0

@BhushanKawadkar它在1級和2級 – Denzil 2015-04-06 05:54:05

+2

我推薦你發佈你的代碼jsFiddle – Sajeeb 2015-04-06 05:55:05

回答

0

我通過tree view document去發現,你只需要添加class="open"對於需要被打開li。這將處理所有其他事情,如添加圖像等。

此外,您正在單個單選按鈕上做你的操作,所以不需要遍歷所有,然後選擇你想要的。相反,使用jQuery選擇器只獲取您的單選按鈕並對其執行操作。

使用下面的代碼 -

HTML:添加CSS類到你的第一級和第二級li小號

<div id="container"> 
    <ul id="outerlist"> 
     <li class="firstLevel"> 
     <span>level-1</span> 
     <ul> 
      <li class="secondLevel"> 
       <span>level-2</span> 
       <ul> 
        <li> 
        <input type="radio" name="lastnode" value="125" onclick="somefunction()" /> 
        <span>lastnodetext</span> 
        </li> 
       </ul> 
      </li> 
     </ul> 
     </li> 
    </ul> 
</div> 

jQuery的:尋找第一級和第二級李來open CSS類添加到它。

var $radio = $('#container input[type="radio"][value="125"]'); 
$radio.attr('checked',true); 
$radio.closest('.firstLevel').addClass('open'); 
$radio.closest('.secondLevel').addClass('open'); 
相關問題