首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ajax请求中创建的select标记不会显示在HTML文件中

在ajax请求中创建的select标记不会显示在HTML文件中
EN

Stack Overflow用户
提问于 2019-06-24 07:37:38
回答 1查看 43关注 0票数 1

我想通过ajax请求加载一些选项,并将它们显示在选择标记HTML中。在获取数据并手动创建select标记后,HTML文件没有显示select标记。我使用jquery并将代码放在其他文件中。我尝试将ajax请求放入$(Document)、.ready()和function中,但都不起作用。

代码语言:javascript
运行
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <!-- META SECTION -->
    <title>Atlant - Responsive Bootstrap Admin Template</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1"/>

    <link rel="icon" href="favicon.ico" type="image/x-icon"/>
    <!-- END META SECTION -->

    <!-- CSS INCLUDE -->
    <link rel="stylesheet" type="text/css" id="theme" href="/public/css/theme-default.css"/>
    <!-- EOF CSS INCLUDE -->


</head>
<body onload="onLoadCenterName()">
<!-- START PAGE CONTAINER -->
<div class="page-container">

    <!-- PAGE CONTENT -->
    <div class="page-content ">


        <!-- PAGE CONTENT WRAPPER -->
        <div class="page-content-wrap">


            <div class="row">
                <div class="col-md-12">

                    <form id="addSiteForm" class="form-horizontal"
                          style="margin-top: 20px;margin-left: 50px;margin-right: 50px">
                        <div class="panel panel-default">
                            <div class="panel-heading ">
                                <h3 class="panel-title "><strong>Add New Site</strong></h3>

                            </div>
                            <div class="panel-body">
                            </div>
                            <div class="panel-body">


                                <div class="form-group">
                                    <label class="col-md-3 col-xs-12 control-label">Select User Type</label>
                                    <div class="col-md-6 col-xs-12">
                                        <select id="addSiteSelectCenterInput" class="form-control select">
                                        </select>
                                        <span class="help-block">Select type of the user account </span>
                                    </div>
                                </div>

                            </div>

                    </form>

                </div>
            </div>

        </div>
        <!-- END PAGE CONTENT WRAPPER -->
    </div>
    <!-- END PAGE CONTENT -->
</div>
<!-- END PAGE CONTAINER -->



<!-- START PRELOADS -->
<audio id="audio-alert" src="/public/audio/alert.mp3" preload="auto"></audio>
<audio id="audio-fail" src="/public/audio/fail.mp3" preload="auto"></audio>
<!-- END PRELOADS -->

<!-- START SCRIPTS -->
<!-- START PLUGINS -->
<script type="text/javascript" src="/public/js/plugins/jquery/jquery.min.js"></script>
<script type="text/javascript" src="/public/js/plugins/jquery/jquery-ui.min.js"></script>
<script type="text/javascript" src="/public/js/plugins/bootstrap/bootstrap.min.js"></script>
<!-- END PLUGINS -->

<!-- START THIS PAGE PLUGINS-->
<script type='text/javascript' src='/public/js/plugins/icheck.js'></script>
<script type="text/javascript" src="/public/js/plugins/jquery/jquery.mCustomScrollbar.js"></script>


<!-- END THIS PAGE PLUGINS-->

<!-- START TEMPLATE -->
<!--        <script type="text/javascript" src="/public/js/settings.js"></script>-->

<script type='text/javascript'
        src='/public/js/plugins/validationengine/languages/jquery.validationEngine-en.js'></script>
<script type='text/javascript' src='/public/js/plugins/validationengine/jquery.validationEngine.js'></script>
<script type="text/javascript" src="/public/js/plugins/bootstrap/bootstrap-select.js"></script>
<script type='text/javascript' src='/public/js/plugins/noty/jquery.noty.js'></script>
<script type='text/javascript' src='/public/js/plugins/noty/layouts/topCenter.js'></script>
<script type='text/javascript' src='/public/js/plugins/noty/layouts/topLeft.js'></script>
<script type='text/javascript' src='/public/js/plugins/noty/layouts/topRight.js'></script>
<script type='text/javascript' src='/public/js/plugins/noty/themes/default.js'></script>
<script type="text/javascript" src="/public/js/plugins.js"></script>
<script type="text/javascript" src="/public/js/actions.js"></script>
<script type="text/javascript" src="/public/js/addSite.js"></script>



<!-- END TEMPLATE -->
<!-- END SCRIPTS -->
</body>
</html>

addSite.js

代码语言:javascript
运行
AI代码解释
复制
function onLoadCenterName() {
    $.ajax({
        type: 'GET',
        url: '/centers/getAllCenters',
        dataType: 'json',
        contentType: 'application/json',
        success: function (data) {
            console.log("SUCCESS : ", data);


            let selectList = document.getElementById("addSiteSelectCenterInput");

            $.each(data, function (key, value) {
                console.log(key, value._id, value.centerName);

                const option = document.createElement("option");
                option.value = value._id;
                option.text = value.centerName;
                selectList.appendChild(option);


                // $('#addSiteSelectCenterInput')
                //     .append($("<option></option>")
                //         .attr("value", )
                //         .text(value.centerName));
            });

            console.log(selectList);
            noty({
                text: 'Successful load centers ',
                layout: 'topRight',
                type: 'success',
                timeout: true
            }).setTimeout(5000);
            $.mpb("update", {
                value: 100, speed: 5, complete: function () {
                    $(".mpb").fadeOut(200, function () {
                        $(this).remove();
                    });
                }
            });
        },
        error: function (e) {
            console.log("ERROR : ", e);
            noty({
                text: 'There was an error',
                layout: 'topRight',
                type: 'error',
                timeout: true
            }).setTimeout(5000);
            $.mpb("update", {
                value: 100, speed: 5, complete: function () {
                    $(".mpb").fadeOut(200, function () {
                        $(this).remove();
                    });
                }
            });

        }
    });

}

在chrom控制台中,result在这里:

代码语言:javascript
运行
AI代码解释
复制
<select id="addSiteSelectCenterInput" class="form-control select" style="display: none;">
                                        <option value="5d0f86f0a2b7a41bdcd3c91f">sdf</option><option value="5d0f9c4067731820fcabf1eb">scaasdad</option></select>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-24 07:51:29

根据您的控制台结果,<select>不可见,因为它具有style="display: none;"属性。

您提供的代码中没有添加该属性的内容,因此您显然没有给我们提供所有相关的代码。

所以你要么需要删除这个属性...或者从一开始就不要隐藏控件。

要通过jQuery显示,请使用.show()...

代码语言:javascript
运行
AI代码解释
复制
$("#addSiteSelectCenterInput").show()

或者在vanilla JS中更改style.display属性...

代码语言:javascript
运行
AI代码解释
复制
document.getElementById("addSiteSelectCenterInput").style.display = "";
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56731846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档