下拉框在onchange()后使用innerHTML刷新页面,再次改变值,不在执行onchange()

1、放上js的源码

var project = document.getElementById('project');
        project.onchange = function() {
            var pro_id = this.value;
            $.post("{{ 'project' }}/" + pro_id, {
                "_token": "{{ csrf_token() }}"
            }, function(data) {
                var body = document.getElementById('body');
                body.innerHTML = data;
            });
        };
2、原因:使用innerHTML后,HTML中的<script>以及<link>标签不会正常解析

3、解决方法:使用jQuery中的html(),html()会自动处理这些标签

$('#project').change(function() {
            $.post("{{ url('project') }}/"+$('#project').val(),
                {'_token': '{{ csrf_token() }}'}, function(data) {
                    $('#body').html(data);
                });
        });



猜你喜欢

转载自blog.csdn.net/snow_small/article/details/79147408
今日推荐