2012-02-23 133 views
0

我正在使用jQuery生成複選框樹,我無法從樹列表中獲取已選中的節點。請幫助我。如何從jquery複選框樹中選擇節點項目

這裏是我的代碼: -

<script type="text/javascript"> 
    //<!-- 
    $(document).ready(function() { 
     $('#tabs').tabs({ 
      cookie: { expires: 30 } 
     }); 
     $('.jquery').each(function() { 
      eval($(this).html()); 
     }); 
     $('.button').button(); 
    }); 
    //--> 
</script> 

的jQuery插件checkboxTree演示

項目主頁

<code class="jquery" lang="text/javascript"> 
    $('#tree1').checkboxTree({ 
    initializeUnchecked: 'collapsed', 
    collapse: function(){ 
      alert('collapse event triggered (passed as option)'); 
    }, 
    expand: function(){ 
      alert('expand event triggered (passed as option)'); 
    }, 
    check: function(n){ 
      alert('Hi there!!!'+n); 
    }, 
    uncheck: function(n){ 
      alert('Hi there!!!'+n); 
    } 
    }); 
</code> 
<ul id="tree1"> 
    <li><input type="checkbox"><label>Node 1</label> 
     <ul> 
      <li><input type="checkbox"><label>Node 1.1</label> 
       <ul> 
        <li><input type="checkbox"><label>Node 1.1.1</label> 
       </ul> 
     </ul> 
     <ul> 
      <li><input type="checkbox"><label>Node 1.2</label> 
       <ul> 
        <li><input type="checkbox"><label>Node 1.2.1</label> 
        <li><input type="checkbox"><label>Node 1.2.2</label> 
        <li><input type="checkbox"><label>Node 1.2.3</label> 
         <ul> 
          <li><input type="checkbox"><label>Node 1.2.3.1</label> 
          <li><input type="checkbox"><label>Node 1.2.3.2</label> 
         </ul> 
        <li><input type="checkbox"><label>Node 1.2.4</label> 
        <li><input type="checkbox"><label>Node 1.2.5</label> 
        <li><input type="checkbox"><label>Node 1.2.6</label> 
       </ul> 
     </ul> 
    <li><input type="checkbox"><label>Node 2</label> 
     <ul> 
      <li><input type="checkbox"><label>Node 2.1</label> 
       <ul> 
        <li><input type="checkbox"><label>Node 2.1.1</label> 
       </ul> 
      <li><input type="checkbox"><label>Node 2.2</label> 
       <ul> 
        <li><input type="checkbox"><label>Node 2.2.1</label> 
        <li><input type="checkbox"><label>Node 2.2.2</label> 
        <li><input type="checkbox"><label>Node 2.2.3</label> 
         <ul> 
          <li><input type="checkbox"><label>Node 2.2.3.1</label> 
          <li><input type="checkbox"><label>Node 2.2.3.2</label> 
         </ul> 
        <li><input type="checkbox"><label>Node 2.2.4</label> 
        <li><input type="checkbox"><label>Node 2.2.5</label> 
        <li><input type="checkbox"><label>Node 2.2.6</label> 
       </ul> 
     </ul> 
</ul> 

請你幫我在這。

+0

首先,擺脫那個eval()。它是邪惡的,並會無緣無故地踢你的狗。 – 2012-02-23 16:35:41

回答

0

您應該只能使用:checked選擇器。以下應該返回tree1元素中的任何複選框。

var checkedCheckboxes = $('#tree1 input[type="checkbox"]:checked'); 
+0

嗨mcNux,非常感謝您的寶貴幫助,請告訴我如何使用「checkedCheckboxes」顯示特定的複選框名稱?我試着使用checkedCheckboxes.id和checkedCheckboxes.value,但都沒有工作。 – Pruthviraj 2012-02-24 04:50:48

+0

我建議你參考[jQuery文檔](http://docs.jquery.com/),因爲你需要知道的一切都在那裏。你需要理解選擇器和attr()方法來實現你想要的。 – mcNux 2012-05-17 09:31:24