pannyvan

导航

前端---二级级联下拉列表的实现

写在前面:本是一前端小白,奈何工作需要,不得不硬着头皮上,但是感觉费劲又慢,光是一个小小的二级级联的东西就弄个半天,愁!特此总结!

前端代码:

<select id="select1" onchange="func1()">
        {% for module in module_info %}
            <option   value = "{{module.module}}">{{module.module}}</option>
        {% endfor %}

    </select>

    <select id="select2"  ></select>
<script>

function func1() {
       $.ajax({
           url: '/get_module_field',
           data: {"mydata": $('#select1').val()},
           dataType: "json",
           success: function (output) {
               var fields = output.fields;
               palceHTML ='';
               for (var i=0;i<fields.length;i++){
                   palceHTML += '<option>'+fields[i]+'</option>';
               }
               $('#select2').html(palceHTML);
           },
           error: function () {
               alert('zxcvzx')
           }
       })
    }
</script>

  后端代码:

@app.route('/get_module_field', methods=['GET', 'POST'])
def get_module_name():
    module_name = request.args.get('mydata')
    print "module_name", module_name
    for i in range(0, len(ModuleName)):
        module_temp_name = ModuleName[i]['module']
        if module_name == module_temp_name:
            temp_dict = ModuleName[i]
            break
    print temp_dict
    return jsonify(temp_dict)

  temp_dict:

{'fields': ['keywords', 'ip', 'log_id'], 'module': 'doorkeeper'}

posted on 2017-07-19 13:47  pannyvan  阅读(2220)  评论(1编辑  收藏  举报