js使用DOM设置单选按钮、复选框及下拉菜单的方法
本文实例讲述了js使用DOM设置单选按钮、复选框及下拉菜单的方法。分享给大家供大家参考。具体实现方法如下:
1.设置单选按钮
单选按钮在表单中即<inputtype="radio"/>它是一组供用户选择的对象,但每次只能选一个。每一个都有checked属性,当一项选择为ture时,其它的都变为false.
先贴上一个例子:
functiongetChoice(){
varoForm=document.forms["uForm1"];
varaChoices=oForm.camera;
for(i=0;i<aChoices.length;i++)//遍历整个单选项表
if(aChoices[i].checked)//如果发现了被选中项则退出
break;
alert("相机品牌是:"+aChoices[i].value);
}
functionsetChoice(iNum){
varoForm=document.forms["uForm1"];
oForm.camera[iNum].checked=true;
}
</script>
<formmethod="post"name="uForm1"action="addInfo.aspx">
相机品牌:
<p>
<inputtype="radio"name="camera"id="canon"value="Canon">
<labelfor="canon">Canon</label>
</p>
<p>
<inputtype="radio"name="camera"id="nikon"value="Nikon">
<labelfor="nikon">Nikon</label>
</p>
<p>
<inputtype="radio"name="camera"id="sony"value="Sony"checked>
<labelfor="sony">Sony</label>
</p>
<p>
<inputtype="radio"name="camera"id="olympus"value="Olympus">
<labelfor="olympus">Olympus</label>
</p>
<p>
<inputtype="radio"name="camera"id="samsung"value="Samsung">
<labelfor="samsung">Samsung</label>
</p>
<p>
<inputtype="radio"name="camera"id="pentax"value="Pentax">
<labelfor="pentax">Pentax</label>
</p>
<p>
<inputtype="radio"name="camera"id="others"value="其它">
<labelfor="others">others</label>
</p>
<p>
<inputtype="submit"name="btnSubmit"id="btnSubmit"value="Submit"class="btn">
</p>
<p>
<inputtype="button"value="检测选中对象"onclick="getChoice();">
<inputtype="button"value="设置为Canon"onclick="setChoice(0);">
</p>
</form>
单选按钮在表单中即<inputtype="radio"/>它是一组供用户选择的对象,但每次只能选一个。每一个都有checked属性,当一项选择为ture时,其它的都变为false.
从以上代码中看出,id和name是不同的,一组单选按钮中它们的name是相同的,只有一个被选中。id则是绑定<label>或者其它选择作用的。
其中代码中:检查被选中对象的代码是(当某一项的chcked值为ture时,遍历结束)
varaChoices=oForm.camera;
for(i=0;i<aChoices.length;i++)//遍历整个单选项表
if(aChoices[i].checked)//如果发现了被选中项则退出
break;
alert("相机品牌是:"+aChoices[i].value);
2.设置多选框
与单选按钮不同,复选框<inputtype="checkbox"/>可以同时选中多个选项进行处理,邮箱中每条邮件之前的复选框就的典型的运用
functioncheckbox(){
varstr=document.getElementsByName("hobby");
varobjarray=str.length;
varchestr="";
for(j=0;j<objarray;j++){
if(str[j].checked==true){
chestr+=str[j].value+",";
}
}
if(chestr==""){
alert("请先选择一个爱好~!");
}else{
alert("您先择的是:"+chestr);
}
}
functionchangeBoxes(action){
varoForm=document.forms["myForm1"];
varoCheckBox=oForm.hobby;
for(vari=0;i<oCheckBox.length;i++)//遍历每一个选项
if(action<0)//反选
oCheckBox[i].checked=!oCheckBox[i].checked;
else//action为1是则全选,为0时则全不选
oCheckBox[i].checked=action;
}
</script>
<formmethod="post"name="myForm1"action="addInfo.aspx">
喜欢做的事:
<p>
<inputtype="checkbox"name="hobby"id="ball"value="ball">
<labelfor="ball">打球</label>
</p>
<p>
<inputtype="checkbox"name="hobby"id="TV"value="TV">
<labelfor="TV">看电视</label>
</p>
<p>
<inputtype="checkbox"name="hobby"id="net"value="net">
<labelfor="net">上网</label>
</p>
<p>
<inputtype="checkbox"name="hobby"id="book"value="book">
<labelfor="book">看书</label>
</p>
<p>
<inputtype="checkbox"name="hobby"id="trip"value="trip">
<labelfor="trip">旅游</label>
</p>
<p>
<inputtype="checkbox"name="hobby"id="music"value="music">
<labelfor="music">音乐</label>
</p>
<p>
<inputtype="checkbox"name="hobby"id="others"value="其它">
<labelfor="others">其它</label>
</p>
<p>
<inputtype="button"value="全选"onclick="changeBoxes(1);"/>
<inputtype="button"value="全不选"onclick="changeBoxes(0);"/>
<inputtype="button"value="反选"onclick="changeBoxes(-1);"/>
<inputtype="button"value="提交" onclick="checkbox()"/>
</p>
</form>
复选框原理利用checked属性布尔值进行确定,全选和不全选可以采用0和1的方式传递参数。
3.下拉菜单
下拉菜单<select>是比较常用的表单元素。当它的下拉为单选时,和单选按钮<inputtype="radio"/>功能一样,当下拉菜单为多选时multiple="multiple时,功能相当复选框,但所占面积远小于复选框。
的序号,从0开始计数
①.下拉菜单获取单选值
functioncheckSingle(){
varoForm=document.forms["myForm1"];
varoSelectBox=oForm.constellation;
variChoice=oSelectBox.selectedIndex;//获取选中项
alert("您选中了"+oSelectBox.options[iChoice].text);
}
</script>
<formmethod="post"name="myForm1">
<labelfor="constellation">星座:</label>
<p>
<selectid="constellation"name="constellation">
<optionvalue="Aries"selected="selected">白羊</option>
<optionvalue="Taurus">金牛</option>
<optionvalue="Gemini">双子</option>
<optionvalue="Cancer">巨蟹</option>
<optionvalue="Leo">狮子</option>
<optionvalue="Virgo">处女</option>
<optionvalue="Libra">天秤</option>
<optionvalue="Scorpio">天蝎</option>
<optionvalue="Sagittarius">射手</option>
<optionvalue="Capricorn">摩羯</option>
<optionvalue="Aquarius">水瓶</option>
<optionvalue="Pisces">双鱼</option>
</select>
</p>
<inputtype="button"onclick="checkSingle()"value="查看选项"/>
</form>
②.下拉菜单为多选时,取值
functioncheckMultiple(){
varoForm=document.forms["myForm1"];
varoSelectBox=oForm.constellation;
varaChoices=newArray();
//遍历整个下拉菜单
for(vari=0;i<oSelectBox.options.length;i++)
if(oSelectBox.options[i].selected)//如果被选中
aChoices.push(oSelectBox.options[i].text);//压入到数组中
alert("您选了:"+aChoices.join());//输出结果
}
</script>
<formmethod="post"name="myForm1">
<labelfor="constellation">星座:</label>
<p>
<selectid="constellation"name="constellation"multiple="multiple"style="height:180px;">
<optionvalue="Aries">白羊</option>
<optionvalue="Taurus">金牛</option>
<optionvalue="Gemini">双子</option>
<optionvalue="Cancer">巨蟹</option>
<optionvalue="Leo">狮子</option>
<optionvalue="Virgo">处女</option>
<optionvalue="Libra">天秤</option>
<optionvalue="Scorpio">天蝎</option>
<optionvalue="Sagittarius">射手</option>
<optionvalue="Capricorn">摩羯</option>
<optionvalue="Aquarius">水瓶</option>
<optionvalue="Pisces">双鱼</option>
</select>
</p>
<inputtype="button"onclick="checkMultiple()"value="查看选项"/>
</form>
③.通用取值(下拉单选和多选的情况)
functiongetSelectValue(Box){
varoForm=document.forms["myForm1"];
varoSelectBox=oForm.elements[Box];//根据参数相应的选择下拉菜单
if(oSelectBox.type=="select-one"){//判断是单选还是多选
variChoice=oSelectBox.selectedIndex;//获取选中项
alert("单选,您选中了"+oSelectBox.options[iChoice].text);
}else{
varaChoices=newArray();
//遍历整个下拉菜单
for(vari=0;i<oSelectBox.options.length;i++)
if(oSelectBox.options[i].selected)//如果被选中
aChoices.push(oSelectBox.options[i].text);//压入到数组中
alert("多选,您选了:"+aChoices.join());//输出结果
}
}
</script>
<formmethod="post"name="myForm1">
星座:
<p>
<selectid="constellation1"name="constellation1">
<optionvalue="Aries"selected="selected">白羊</option>
<optionvalue="Taurus">金牛</option>
<optionvalue="Gemini">双子</option>
<optionvalue="Cancer">巨蟹</option>
<optionvalue="Leo">狮子</option>
<optionvalue="Virgo">处女</option>
<optionvalue="Libra">天秤</option>
<optionvalue="Scorpio">天蝎</option>
<optionvalue="Sagittarius">射手</option>
<optionvalue="Capricorn">摩羯</option>
<optionvalue="Aquarius">水瓶</option>
<optionvalue="Pisces">双鱼</option>
</select>
<inputtype="button"onclick="getSelectValue("constellation1")"value="查看选项"/>
</p>
<p>
<selectid="constellation2"name="constellation2"multiple="multiple"style="height:120px;">
<optionvalue="Aries">白羊</option>
<optionvalue="Taurus">金牛</option>
<optionvalue="Gemini">双子</option>
<optionvalue="Cancer">巨蟹</option>
<optionvalue="Leo">狮子</option>
<optionvalue="Virgo">处女</option>
<optionvalue="Libra">天秤</option>
<optionvalue="Scorpio">天蝎</option>
<optionvalue="Sagittarius">射手</option>
<optionvalue="Capricorn">摩羯</option>
<optionvalue="Aquarius">水瓶</option>
<optionvalue="Pisces">双鱼</option>
</select>
<inputtype="button"onclick="getSelectValue("constellation2")"value="查看选项"/>
</p>
</form>
希望本文所述对大家的javascript程序设计有所帮助。
相关文章
- yuicompressor java_YUI Compressor使用配置方法 JS/CSS压缩工具
- JS currentStyle属性和getComputedStyle()方法:读取CSS显示样式
- 使用JS控制Oracle数据库的更新(js控制oracle更新)
- 使用Oracle和JS开发新一代应用仿真世界(oracle js)
- js中slice()方法的使用说明
- js控制页面控件隐藏显示的两种方法介绍
- JS截取字符串常用方法整理及使用示例
- 使用js的replace()方法查找字符示例代码
- js中function()使用方法
- 用js正确判断用户名cookie是否存在的方法
- js判断为空Null与字符串为空简写方法
- jquery动态加载js/css文件方法(自写小函数)
- node.js中的emitter.emit方法使用说明
- node.js中的http.response.setHeader方法使用说明
- node.js中的fs.fsync方法使用说明
- node.js中的fs.stat方法使用说明
- node.js中的fs.open方法使用说明
- node.js中的fs.exists方法使用说明
- jQuery及JS实现循环中暂停的方法