如何用JS选中下拉框选项

JavaScript025

如何用JS选中下拉框选项,第1张

1、打开vscode,创建一个H5规范的页面,用于演示js如何给下拉框设置默认值。

2、在页面中添加一个下拉框,并在html中通过selected属性,默认选择下拉框的第2个值。

3、在浏览器中打开页面,就可以看到这个下拉框默认选中的第二个下拉值。

4、在页面顶部引入jquery,由于本文将jquery和页面放在同一级目录,所以,直接使用了jquery文件名引用。如果不在同一级目录,引入的路径需要有层级。

5、在页面底部,添加jquery代码,使用.val()方法,在页面文档加载后,就马上修改下拉框的默认选中值为第三个值。此时是不管html的标签中selected属性原来是标记在哪一个选项的,都会改成新的值。

6、在浏览器中打开页面,这个时候就会看到,下拉框的默认值已经变成了第三个选项。

7、如果想要通过下拉框的显示值来设置默认选中项,就需要使用类似下面的语法:

$("#sltDef").find("option:contains('第4个选项')").attr("selected",true)

var desc_id=[]\x0d\x0avar obj = document.getElementById("i_ts_desc")\x0d\x0afor(var i=0i 回答于 2022-12-14

Hi,你的操作就是当已经选择过的情况下你需要删除掉数组的相应值。

我帮你改写了一下,数组值需要存储选框的下标就可以了的。

<script language="javascript">

var sel = []

function OnClick() {

var i_ts_desc = document.getElementById("i_ts_desc")

var index = i_ts_desc.selectedIndex

var iHas = -1

sel.sort()

for (var i = 0i <sel.lengthi++) {

if (sel[i] == index) {

iHas = i

} else {

i_ts_desc[sel[i]].selected = true

}

}

if (iHas == -1) {

sel.push(index)

i_ts_desc[index].selected = true

} else {

sel.splice(iHas, 1)

i_ts_desc[index].selected = false

}

}

</script>

<select id="i_ts_desc" multiple="multiple" onclick="OnClick()" >

<option value="A">0</option>

<option value="B">1</option>

<option value="C">2</option>

<option value="D">3</option>

<option value="E">4</option>

<option value="F">5</option>

</select>