如何用JS选中下拉框选项

JavaScript011

如何用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)

<!DOCTYPE html>

<html>

  <head>

<meta http-equiv="Content-Type" content="text/html charset=UTF-8">

<title>RunJS 演示代码</title>

<style>

.container{

margin:0px auto

width:520px

}

#result{

border:1px solid black

width:520px

height:100px

overflow:auto

}

.sp{

background-color:gray

border:1px solid black

width:60px

height:30px

text-align:center

line-height:30px

position:relative

margin:5px 5px 5px 5px

float:left

}

.sp span{

top: -8px

     left: 6px

     position: relative

cursor: pointer

}

.sp span:hover{

color:red

}

</style>

<script>

onload=function(){

var cks = document.getElementsByName("ck")

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

var ck = cks[i]

ck.onchange = function(){

var tmp = "<div class='sp'>" + this.value + "<span onclick='rem(this)'>×</span></div>"

if(this.checked){

result.innerHTML += tmp

}else{

var reg = new RegExp("<div[^>]+>" + this.value + "<span[^>]*>×<\/span><\/div>", "i")

result.innerHTML = result.innerHTML.replace(reg,"")

}

}

}

}

var rem = function(obj){

var div=obj.parentElement

var cks = document.getElementsByName("ck")

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

var ck = cks[i]

if(ck.value==div.childNodes[0].nodeValue){

ck.checked=false

break

}

}

div.outerHTML=""

}

</script>

  </head>

<body>

    <div class="container">

 <fieldset>

 <legend>

 选择收件人:

 </legend>

 <label><input type="checkbox" name="ck" value="张三" />张三</label>

 <label><input type="checkbox" name="ck" value="李四" />李四</label>

 <label><input type="checkbox" name="ck" value="王五" />王五</label>

 <label><input type="checkbox" name="ck" value="赵六" />赵六</label>

</fieldset>

<div>

收件人:

</div>

<div id="result">

</div>

</div>

  </body>

</html>