【问题标题】:onselect show/hide new selectonselect 显示/隐藏新选择
【发布时间】:2016-07-27 10:24:22
【问题描述】:

因为我有这样的数据库

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 from db是

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

在根选择时,底部的新选择是

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

我正在尝试使用 jquery...

【问题讨论】:

  • 在这里发布 jsfiddle

标签: jquery onselect


【解决方案1】:

看到这个代码我解决了你的问题,我认为这将帮助你完成这项工作

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>

【讨论】:

  • 嗯,好的,但这是一个 2 级树...我需要“无限”级别...如果我选择 child_1,则必须显示带有 child_21 的新选择...
猜你喜欢
  • 1970-01-01
  • 2017-04-10
  • 2017-05-19
  • 1970-01-01
  • 1970-01-01
  • 2014-11-23
  • 1970-01-01
  • 1970-01-01
  • 2012-05-31
相关资源
最近更新 更多