2011-12-13 42 views
8

Tôi hiện đang làm việc trên một số POC sử dụng plugin JS Tree và plugin hộp kiểm có liên quan. Đối với một số nút Tôi cần phải kiểm tra hộp kiểm theo mặc định và vô hiệu hóa bất kỳ selection.I tiếp tục tìm thấy các chức năng để che giấu việc kiểm tra hộpjstree vô hiệu hóa hộp kiểm

.bind("load_node.jstree", function (e, data) { 
      $(this).find('li[rel!=file]').find('.jstree-checkbox:first').hide(); 
     }); 

thay vì che giấu hộp kiểm hoàn toàn Tôi muốn tìm một cách để vô hiệu hóa hộp kiểm cho các nút nhất định

+0

Hãy xem xét việc viết lại các câu hỏi để có undestandable hơn. – athspk

Trả lời

10

Bạn sẽ cần xác định loại "bị vô hiệu hóa" (sử dụng plugin loại) và sau đó gán loại đó cho nút mong muốn.

Đưa ví dụ này "vô hiệu hóa" kiểu định nghĩa:

  "types" : { 
       "types": { 
       "disabled" : { 
         "check_node" : false, 
         "uncheck_node" : false 
        } 
       } 
      } 

và loại assigment:

$.jstree._reference('#tree').set_type("disabled", "#node5"); 

Thông tin thêm về các loại cắm có thể được tìm thấy here và bạn cũng có thể kiểm tra this google group with more info on disabling checkboxes

Hy vọng điều đó sẽ hữu ích!

1

Cảm ơn mcabral và Tomasz về câu trả lời của họ. Nó giúp tôi đạt được kết quả đúng. Tuy nhiên, tôi cần thêm một số dòng phụ để nó hoạt động đúng cách. Dưới đây là những gì tôi đã làm:

Bạn cần phải thêm hai thuộc tính cho <li> thẻ Mà là rel='disable' để chỉ jstree rằng đây sẽ là loại mới cho hộp kiểm, thay vì mặc định và class='jstree-checked' thuộc tính mà sẽ pre-check các hộp kiểm khi tải cây.

$rel = ('if the checkbox need to be pre-checked')? 'rel="disabled" class="jstree-checked"' : ''; 
      echo '<li id="checkbox_id" '. $rel .'>'; 

Sau đó, dựa trên các câu trả lời trước bạn cần phải xác định 'vô hiệu hóa' loại đã được sử dụng trong các thuộc tính rel như sau:

.jstree({ 
        "types" : 
        { 
         "types" : { 
          "disabled" : { 
           "check_node" : false, 
           "uncheck_node" : false 
          } 
         } 
        }, 
     "plugins" : ["themes","html_data","ui","crrm","types", "checkbox"], 
        "checkbox" : { "two_state" : true }, 
    }) 
Các vấn đề liên quan