如何清除< selected >标记,然后通过<option>标签

how to clear the <select> tag before filling the another value through <option> tag

本文关键字:然后 标签 option 标记 selected 清除 何清除      更新时间:2023-09-26

在点击这些单选按钮时,它只是调用servlet并填充下拉列表到它的内容。

,但问题是在点击第一次它是按预期填充,但如果我再次点击单选按钮,那么它再次调用servlet并再次填充相同的东西(例如。下拉列表中矩阵和矩阵的两次)。

Q1:我如何防止再次填充相同的东西????

第二件事是,在点击第一个单选按钮后,它将填充下拉,假设"矩阵"值,然后如果点击另一个单选按钮,它将填充另一个值,假设"杰克"(如预期),但问题是,在下拉列表中,值都包含"矩阵"answers"千斤顶",但我只是想如果我点击第一个单选按钮,那么它只填充"矩阵",如果我再次点击第二个单选按钮,它只填充"千斤顶",第一个单选按钮的值应该在填充另一个单选按钮的值之前被删除Q2:如何做到这一点??

jsp page:-

<b>Select Language :</b>
    <input type="radio" onclick="callServlet();"  id="lang1" name="lang" value="c">C
    <input type="radio" onclick="callServlet();" id="lang2" name="lang" value="cpp">C++
    <input type="radio" onclick="callServlet();" id="lang3" name="lang" value="java">Java
<b>Select Program :</b>
                        <select id="combo">
                            <option>-Select Program-</option>
                        </select>

下面是我的java脚本函数,它将在点击单选按钮函数时调用:-

<script>
            function callServlet()
            {
                var d;
                $(function() {
                    d = $('input[name=lang]:checked').val();
                });
                console.log("value = " + d);
                $.ajax({
                    url: "AllProgramNameServlet",
                    type: "post",
                    data: {
                        language: d
                    },
                    success: function(msg)
                    {
                        for (i = 0; i < msg.length; i++)
                        {
                            var combo = document.getElementById("combo");
                            var option = document.createElement("option");                      
                            option.text = msg[i].programName;
                            option.value = msg[i].programName;
                            try {
                                combo.add(option, null); //Standard 
                            } catch (error) {
                                combo.add(option); // IE only
                            }
                        }
                    }
                });
            }
        </script>

在添加选项之前可以先清除下拉列表:

$('#combo').empty(); //empty the list

或使用

保留第一选项并删除rest
$('#combo option:gt(0)').remove();
相关文章: