JS如何动态给select的option赋值?

 我来答
轻烟谈生活
高粉答主

2019-04-27 · 轻烟和你聊聊生活中的有趣事
轻烟谈生活
采纳数:7 获赞数:116648

向TA提问 私信TA
展开全部

JS动态给select的option赋值的具体操作步骤如下:

1、首先我们打开JS软件,点击界面左上角file选项目录下的new选项,再选择java project 新建web项目操作。

2、操作上图后进入下图界面,输入项目名点击下一步直到完成。

3、建立完成后,项目结构如下图。

4、在超链接中设置调用函数用于更新option,代码如下图红框所选。

5、在change函数中获取seclect项,获取option的数量,遍历option获取选中的option更新选中项。

6、最后看一下运行的效果,此时我们可以动态输入数值给select的option赋值。

茫茫人海一亮星

2021-03-30 · TA获得超过4.4万个赞
知道大有可为答主
回答量:4.1万
采纳率:82%
帮助的人:1464万
展开全部
JS如何动态给select的option赋值?

document.getElementById("ddlResourceType").options.add(new Option(text,value));

  下拉框:

<select id="ddlResourceType" οnchange="getvalue(this)">
</select>
1、动态删除select中的所有options:

document.getElementById("ddlResourceType").options.length=0;
2、动态删除select中的某一项option:

document.getElementById("ddlResourceType").options.remove(index);
3、动态添加select中的项option: 

document.getElementById("ddlResourceType").options.add(new Option(text,value));
上面的操作在IE和火狐中都能测试成功,其实用标准的DOM操作也可以,就是document.createElement,appendChild,removeChild之类的。

4、下面要说下在取值方面,自己遇到的一个坑,很隐藏的坑,大家都知道,如何获取选中的某一项option的值,当初在用chrome调试的时候,打印出了原生select对象,找到了selectedOptions这个选中项的数组属性,正常情况下,单选下拉框的该属性只有一个值,默认可以使用selectedOptions[0]这样的方式去获取,是的,我当时就是这样去弄的,结果项目上线后大概将近半个月的时候,运营那边报告说,客户在IE浏览器下,下拉框没有数据显示,我当时就想,下拉框动态获取的数据肯定是取数据的时候,出现错误了,然后逐一去排查,发现报错的原因是ie下面select原生对象里,是没有selectedOptions这样的属性的,那么只能另辟蹊径来解决了,我仔细找了下剩余的一些属性,发现  找到了 selctedIndex这样的一个好属性,一看字面意思就明白了,就是选中项的index值啊,这就好办了啊,直接用options[selectedIndex]去访问不就好了么,到此,问题顺利解决:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
娱乐大搜索

2021-03-30 · TA获得超过1.8万个赞
知道大有可为答主
回答量:1.8万
采纳率:68%
帮助的人:603万
展开全部
javascript之HTML(select option)详解

一、基础理解:

var e = document.getElementById("selectId");e. options= new Option("文本","值") ;

//创建一个option对象,即在<select>标签中创建一个或多个<option value="值">文本</option>

//options是个数组,里面可以存放多个<option value="值">文本</option>这样的标签

1:options[ ]数组的属性:

length属性---------长度属性

selectedIndex属性--------当前被选中的框中的文本的索引值,此索引值是内存自动分配的(0,1,2,3.....)对应(第一个文本值,第二个文本值,第三个文本值,第四个文本值..........)

2:单个option的属性(---obj.options[obj.selecedIndex]是指定的某个<option>标签,是一个---)
text属性---------返回/指定 文本

value属性------返回/指定 值,与<options value="...">一致。

index属性-------返回下标,

selected 属性-------返回/指定该对象是否被选中.通过指定 true 或者 false,可以动态的改变选中项

defaultSelected 属性-----返回该对象默认是否被选中。true / false。

3:option的方法

增加一个<option>标签-----obj.options.add(new("文本","值"));<增>

删除一个<option>标签-----obj.options.remove(obj.selectedIndex)<删>

获得一个<option>标签的文本-----obj.options[obj.selectedIndex].text<查>

修改一个<option>标签的值-----obj.options[obj.selectedIndex]=new Option("新文本","新值")<改>

删除所有<option>标签-----obj.options.length = 0

获得一个<option>标签的值-----obj.options[obj.selectedIndex].
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fcgk_bd
推荐于2017-10-08 · TA获得超过232个赞
知道小有建树答主
回答量:103
采纳率:0%
帮助的人:145万
展开全部
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<script type="text/javascript">
function change (){
var sel = document.getElementById('sel');
sel.options[0].value = 111;
sel.options[0].text = 111;
}
</script>
</head>
<body>
<select id="sel" style="width:100px;">
<option value="1">1</option>
</select>
<a href="javascript:change();">UPDATE</a>
</body>
</html>
看看是不是你想要的效果,可以根据自己的需求修改一下。
追问

sel.options[0].value = 111;是
sel.options[0].text = 111;是这里的值吗?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
水果一个001

2021-03-30 · TA获得超过3935个赞
知道大有可为答主
回答量:3172
采纳率:52%
帮助的人:95.6万
展开全部
getAttribute()获取到相应的属性值,
用setAttribute()去设置相应的属性值。

如:
取值:
var sel = document.getElementByIdx_x('col1');
var classID=sel.options[0].getAttribute('自定义属性名称');

赋值:
var sel = document.getElementByIdx_x('col1');
sel.options[0].setAttribute('自定义属性名称', 所要赋的值);

望采纳!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式