企业网站,个人博客等WordPress网站以及其他语言网站开发定制需求加QQ详聊。

如何通过js动态让select控件选中option指定的值

JavaScript笔记 码云 58℃ 0评论
目录
[隐藏]

文章内容如标题所说,这也是最近在做项目中遇到的需求问题,虽然很简单,但是我还是将它作为笔记整理下来下次遇到直接拿来用即可,也为后来需要帮助的小伙伴做个参考。具体要求:当用户对弹框里的内容进行编辑时,根据当初创建选中的select中option值,动态设置select中option选中,那么如何通过js动态设置select中option选中呢?这里需要先为大家补充一下select options集合的知识。推荐阅读《js通过另外一个下拉菜单已选选项来修改当前下拉菜单的选项》获得更多关于select知识。

Select options 集合

定义和用法

option集合可返回包含<select>元素中所有<option>的一个数组。

注意:数组中的每个元素对应一个<option>标签-由0起始。

语法

selectObject.options

属性

属性 描述
length 返回集合的option元素数目
selectedIndex 设置或者返回select对象已选选项的索引值。(以 0 起始)

方法

方法 描述
[index] 以数字形式指定元素索引 (以 0 开始)
[add(element[,index])] 在集合中添加option元素
item(index) 以数字索引返回集合中元素
namedItem(name) 以名称为索引返回集合元素
remove(index) 从集合中移除元素

浏览器支持

所有主要浏览器都支持 options 集合

实例

循环输出下拉列表中的所有选项:

HTML代码:

<form>
你最喜欢的水果:
<select id="mySelect">
	<option>Apple</option>
	<option>Orange</option>
	<option>Pineapple</option>
	<option>Banana</option>
</select>
</form>
<button type="button" onclick="displayResult()">显示所有选项的文本</button>

JS代码:

function displayResult(){
	var x=document.getElementById("mySelect");
	var txt="All options: ";
	var i;
	for (i=0;i<x.length;i++){
		txt=txt + "\n" + x.options[i].text;
	}
	alert(txt);
}

效果展示:

循环输出下拉列表中的所有选项

以上就是options的知识,记不清的私下做做功课,好了,接着看一下我们今天要实现的需求代码:

/** 
 * 设置select控件选中 
 * @param selectId select的id值 
 * @param checkValue 选中option的值 
 * @author 码云笔记 
*/  
function select_option_checked(selectId, checkValue){  
    var select = document.getElementById(selectId);  

    for (var i = 0; i < select.options.length; i++){  
        if (select.options[i].value == checkValue){  
            select.options[i].selected = true;  
            break;  
        }  
    }  
}

如何调用

// 设置select选中该班组
select_option_checked('sel_group', group_id);

注:不要传’#sel_group’,习惯了jquery,会出问题的。

以上就是今天关于如何动态通过js让select控件选中指定的值的全部内容希望对大家有用。

 

转载请注明:码云笔记 » 如何通过js动态让select控件选中option指定的值

喜欢 (1)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址