2013-03-14 125 views
0

我在我的應用程序中有複選框treeview有一個問題是隻選擇兩個 複選框通過pageload其餘必須在禁用。 (即,如果取消選中其中一個複選框處於啓用狀態)。只爲kendotreeview選擇兩個複選框

My fiddle:

Code: 
      var tree= $("#treeview").kendoTreeView({ 
      checkboxes: { 
       checkChildren: true 
      }, 

      dataSource: [{ 
       id: 1, text: "My Project", expanded: true, spriteCssClass: "rootfolder", items: [ 
        { 
         id: 2, text: "OrderID", expanded: true, spriteCssClass: "folder", items: [ 
          { id: 3, text: "a" }, 
          { id: 4, text: "b" }, 
          { id: 5, text: "c" }, 
          { id: 6, text: "d" }, 
          { id: 7, text: "e" } 
         ] 
        } 

       ] 
      }] 
     }).data("kendoTreeView"); 

      tree.dataSource.bind("change", function (e) { 
+0

這是預期的結果,如果你有孩子的節點點擊?不知道這是你想要的,但是如果你點擊一個有子節點的節點('My Project'或'OrderID'),子節點被選中,那麼使用@ArunPJohny解決方案,無論它們是兩個還是二十個。 – OnaBai 2013-03-14 08:55:52

+0

這裏需要在頁面加載時只選擇兩個treeview複選框@ArunPJohny解決方案是通過手動選擇只有兩個複選框,但我需要默認。這裏是小提琴http://jsfiddle.net/RHh67/56/ – user123 2013-03-14 09:50:12

+0

有一些我不明白......你如何指定你想選擇頁面加載哪兩個複選框?什麼意思(爲你)*默認*?除非我們明白你想要什麼,否則我們無法幫助你。 – OnaBai 2013-03-14 09:54:19

回答

5

試着這麼做

function updateChks(){ 
    var checkboxes = $('#treeview input:checkbox'); 
    var selected = checkboxes.filter(':checked'); 
    checkboxes.not(selected).prop('disabled', selected.length > 1) 
} 

$('#treeview').on('click', 'input:checkbox', updateChks); 

updateChks(); 

演示:Fiddle

+0

感謝您在這裏快速回復一個問題默認情況下,頁面加載中啓用了兩個複選框。這裏是小提琴http:// jsfiddle。net/RHh67/53/ – user123 2013-03-14 07:09:21

+0

@sandeep查看更新 – 2013-03-14 07:34:47

+0

我在這裏更新了函數id小提琴http://jsfiddle.net/arunpjohny/MM2BE/1/.But我沒有得到任何結果,我想檢查2複選框默認在頁面加載。 – user123 2013-03-14 08:07:21