首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从<Select>下拉列表中删除当前值

从<Select>下拉列表中删除当前值
EN

Stack Overflow用户
提问于 2014-02-17 12:36:42
回答 2查看 74关注 0票数 0

我有两个下拉框,允许用户选择他们的年龄和Gender.These下拉框从我的数据库(PHP 5.5+ MYSQL)中提取他们的值,并使用检索到的值作为显示给用户的默认值。

dropbox的其他选项是通过在页面上运行的函数生成的。

这些职能是:

代码语言:javascript
运行
复制
function AgeDropDown(){
    var list= document.getElementById("Age");
    for(var i=1;i<100;i++)
    {
        var opt = document.createElement("option");
        opt.value= i;
        opt.textContent=i;
        list.appendChild(opt);
    }

}

代码语言:javascript
运行
复制
function genderlist(){
    var list= document.getElementById("Gender");
    var choices=["M","F"];
    for(i=0;i<choices.length;i++)
    {
        var opt = document.createElement("option");
        opt.value= choices[i];
        opt.textContent=choices[i];
        list.appendChild(opt);
    }
}

虽然我的代码工作得很好,所有选项都会显示出来,但每当我单击dropbox来更改该值时,除了生成的选项之外,还会显示当前值

E.g

年龄

代码语言:javascript
运行
复制
18   
1
2
3    <---- Values shown in the select dropdown
4
5
6

性别

代码语言:javascript
运行
复制
M
M
F

单击下拉框时,如何从显示的选项中删除默认值?

例如(我想要发生的事情,而不是上面所示的事情)。

年龄

代码语言:javascript
运行
复制
1
2
3
4
5
6
7

性别

代码语言:javascript
运行
复制
M
F
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-17 12:42:11

你要做的就是清空div。可以将innerHTML设置为空字符串以清空div。

注:

您要做的是在div中添加/追加元素。所以你必须清除div (移除它的子部分)。

代码应该是list.innerHTML = "";

完整的代码如下:

代码语言:javascript
运行
复制
function AgeDropDown(){
    var list= document.getElementById("Age");
    list.innerHTML = "";
    for(var i=1;i<100;i++)
    {
        var opt = document.createElement("option");
        opt.value= i;
        opt.textContent=i;
        list.appendChild(opt);
    }

}

function genderlist(){
    var list= document.getElementById("Gender");
    list.innerHTML = "";
    var choices=["M","F"];
    for(i=0;i<choices.length;i++)
    {
        var opt = document.createElement("option");
        opt.value= choices[i];
        opt.textContent=choices[i];
        list.appendChild(opt);
    }
}
票数 0
EN

Stack Overflow用户

发布于 2014-02-17 12:42:52

您可以使用如下jQuery删除列表中的第一个元素:

代码语言:javascript
运行
复制
$('#Gender').find('option').first().remove();

或者:

代码语言:javascript
运行
复制
$('#Age').find('option').first().remove();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21829316

复制
相关文章

相似问题

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