2016-07-27 9 views
0

Потому что у меня есть БД, как этотonselect показать/скрыть новый выбор

id - id_parent - name 
1 - 0   - root 
2 - 1   - child_1 
3 - 1   - child_2 
4 - 3   - child_31 
5 - 3   - child_32 
6 - 2   - child_21 

я должен создать отборное, что «onselect» показать новый выбор с ребенком

Затем сначала выбрать из БД был

<select> 
<option>empty</option> 
<option>root</option> 
</select> 

на корне выберите, новый выбор на дне был

<select> 
<option>child_1</option> 
<option>child_2</option> 
<select> 

Я пытаюсь сделать это с помощью JQuery ...

+1

Что у вас пробовал? –

+1

сообщение jsfiddle здесь – Vaibhav

ответ

0

увидеть этот код, я решить вашу проблему, я думаю, что поможет вам сделать эту работу

https://plnkr.co/edit/ckEIglujjD9OIOqeT6l5?p=preview

<h1>Hello Plunker!</h1> 

    <select id="parent"> 
    <option value="0">empty</option> 
    <option value="1">root</option> 
    </select> 

    <select id="child"> 

    </select> 

    <script> 
    $(document).ready(function() { 
     var info = [{ 
      id: 1, 
      parent: 0, 
      name: 'root' 
     }, { 
      id: 2, 
      parent: 1, 
      name: 'child_1' 
     }, { 
      id: 3, 
      parent: 1, 
      name: 'child_2' 
     }, { 
      id: 4, 
      parent: 3, 
      name: 'child_31' 
     }, { 
      id: 5, 
      parent: 3, 
      name: 'child_32' 
     }, { 
      id: 6, 
      parent: 2, 
      name: 'child_21' 
     } 


     ]; 


     $("#parent").on('click', function() { 

     var nowValue = $(this).val(); 
     $("#child").html(""); 
     $.each(info, function(index, value) { 
      if (value.parent == nowValue) { 

      var option = $('<option/>'); 
      option.attr({ 
       'value': value.id 
      }).text(value.name); 
      $('#child').append(option); 
      } 
     }); 

     }); 


    }); 
    </script> 
+0

mmm, нормально, но это дерево уровня 2 ... Мне нужен «бесконечный» уровень ... Если я выберем child_1, новый select с child_21 должен показать ... – FireFoxII