猿问

清空select中的option的问题

使用$("select").html("")来清空一个动态生成的下拉框

当下拉选项只有一个的时候,清空操作结束后,代码清空了但是下拉框依旧显示选择项
如图所示
再点击一下下拉框选择项才消失

当有多个下拉选项的时候则不会出现这种情况

写了一个简易的代码

<!DOCTYPE html>

<html>


<head>

    <title></title>

    <style>

        button {

            width: 50px;

            height: 20px;

        }

    </style>

    <script src="https://code.jquery.com/jquery-1.11.3.js"></script>

</head>


<body>

    <select></select>

    <button>按钮</button>

    <script>

    var accountHtml = "",

        account = ["1234123421"];


    account.forEach(function(i) {

        accountHtml += '<option value="' + i + '">' + i + '</option>';

    });

    $("select").html(accountHtml);


    $("button").on("click", function() {

        $("select").html("");

    });

    </script>

</body>


</html>


慕勒3428872
浏览 520回答 1
1回答

汪汪一只猫

理论上不会出现~$("select").html("").val("");试一下这个.或者既然都清空了, 可以直接remove掉, 在生成一个也可以.下面代码我测试一下清空select没问题~<!DOCTYPE html><html><head>&nbsp; <meta charset="UTF-8">&nbsp; <title>Document</title>&nbsp; <script src="jquery.min.js"></script></head><body>&nbsp; <select name="" id="select"></select>&nbsp; <button class="dianwo">dianwo</button>&nbsp; <script>&nbsp; &nbsp; $(function(){&nbsp; &nbsp; &nbsp; $("select").append("<option value='123'>123</option><option value='456'>456</option><option value='789'>789</option>");&nbsp; &nbsp; &nbsp; $(".dianwo").click(function(){&nbsp; &nbsp; &nbsp; &nbsp; $("select").html("");&nbsp; &nbsp; &nbsp; })&nbsp; &nbsp; });&nbsp; </script></body></html>
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答