2012-02-23 3 views
0

Я использую jQuery для генерации дерева флажков, я не могу получить проверенный узел из списка деревьев. Пожалуйста помоги мне с этим.Как получить выбранные элементы узла из jQuery checkbox tree

Вот мой код: -

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

JQuery плагин checkboxTree демо

Project Главная

<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(). это зло и БУДЕТ пнуть вашу собаку без причины. –

ответ

0

Вы должны просто использовать селектор :checked. Следующие элементы должны возвращать отмеченные флажки в элементе tree1.

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

Привет, mcNux, Большое спасибо за вашу ценную помощь, не могли бы вы рассказать мне, как мне отображать конкретное имя флажка с помощью «checkCheckboxes»? Я попытался использовать checkCheckboxes.id и checkCheckboxes.value, но оба они не работали. – Pruthviraj

+0

Предлагаю вам обратиться к [jQuery documention] (http://docs.jquery.com/), поскольку все, что вам нужно знать, есть. Вам нужно будет понять Selectors и метод attr() для достижения желаемого. – mcNux

Смежные вопросы