`
z_piaoyi
  • 浏览: 22272 次
  • 性别: Icon_minigender_2
  • 来自: 河北
社区版块
存档分类
最新评论

js获取下拉列表选中项的值和文本(select)以及获取单

阅读更多

一、获取下拉列表选中项的值和文本(select)

代码 select.htm 示例如下:

=============================================================================
<html>
<head><title>获取下拉列表选中项的值和文本(select)</title></head>
<body>
<script>

//获取下拉列表选中项的文本
function getSelectedText(name){
var obj=document.getElementByIdx_x(name);
for(i=0;i<obj.length;i++){
   if(obj[i].selected==true){
    return obj[i].innerText;      //关键是通过option对象的innerText属性获取到选项文本
   }
}
}

//获取下拉列表选中项的值
function getSelectedValue(name){
var obj=document.getElementByIdx_x(name);
return obj.value;      //如此简单,直接用其对象的value属性便可获取到
}

</script>
<select id="myselect">
<option value="fist">1</option>
<option value="second">2</option>
<option value="third">3</option>
</select>

<input type="button"   value="所选文本"   onclick="alert(getSelectedText('myselect'));" />
<input type="button"   value="所选值" onclick="alert( getSelectedValue('myselect'));" />
</body>
</html>

=============================================================================

二、获取单选按钮(radio)组的值和修改选中项

看到很多帖子里说js获取单选按钮(radio)组的值可以直接用document.getElementByIdx_x("oper").value, 虽然跟单选按钮组一样的下拉列表(也是列表项的数组)也是一个数组,用这种方式可以获到下拉列表的值,但是单选按钮组却获不到所选的值。仔细研究了下,总 结如下:

与下拉列表不同,单选按钮须用this.form.oper或者 document.getElementsByName('oper')方式获取该数组对 象,document.getElementByIdx_x('oper')不能获取该数组对象(select可以)。而且要获取值须通过一循环判断获 取,不能直接用.value(select可以)。而要改变单选按钮组的选中项,也须用循环判断改变各个单选按钮的value。

测试代码radio.html 如下:

=============================================================================

<html>
<head></head>
<script language="javascript">

//求单选按纽的值,适用单选项及多选项。未选返回false;有选择项,返回选项值。
function getRadio(oRadio){
var oRadioLength= oRadio.length;
var oRadioValue = false;
//alert("oRadioLength:["+oRadioLength+"]");

if (oRadioLength== undefined){
      if (oRadio.checked){
       oRadioValue = oRadio.value;
      }
}else{
      for (i=0;i<oRadioLength;i++){
       //alert("oRadio["+i+"]:"+oRadio[i].checked+"/"+oRadio[i].value);
       if (oRadio[i].checked){
        oRadioValue = oRadio[i].value;
        break;
       }
      }
}
return oRadioValue;
}

 

//方法改进:

//求单选按纽的值,传radio名字作为参数。未选返回false;有选择项,返回选项值。
function getRadioValue(name){
var radioes = document.getElementsByName(name);
for(var i=0;i<radioes.length;i++)
{
     if(radioes[i].checked){
      return radioes[i].value;
     }
}
return false;
}


//通过值修改所选中的单选按钮
function changeRadio(oRadio,oRadioValue){        //传入一个对象
for(var i=0;i<oRadio.length;i++) //循环
{
        if(oRadio[i].value==oRadioValue) //比较值
        {
         oRadio[i].checked=true; //修改选中状态
         break; //停止循环
        }
}
}
  

//改进:

//通过值修改所选中的单选按钮
function setRadio(name,sRadioValue){        //传入radio的name和选中项的值
var oRadio = document.getElementsByName(name);
for(var i=0;i<oRadio.length;i++) //循环
{
        if(oRadio[i].value==sRadioValue) //比较值
        {
         oRadio[i].checked=true; //修改选中状态
         break; //停止循环
        }
}
}

</script>

<body>
<form name="frm">

<input type="radio" name="oper" value="agree"        >同意</td>
<input type="radio" name="oper" value="downchange" checked >下发修改</td>
<input type="radio" name="oper" value="refuse">拒保</td>
<input type="radio" name="oper" value="report" >上报 </td>
<br>
alert('result:'+getRadio(this.form.oper))
<input type="button" name="test1" value="按钮1" onclick="alert('result:'+getRadio(this.form.oper));">       
<br>
alert('result:'+getRadio(document.getElementByIdx_x('oper')))
<input type="button" name="test2" value="按钮2" onclick="alert('result:'+getRadio(document.getElementByIdx_x('oper')));">
<br>
alert(this.form.oper.value)
<input type="button" name="test3" value="按钮3" onclick="alert(this.form.oper.value);">
<br>
changeRadio(this.form.oper,"上报")
<input type="button" name="test4" value="按钮4" onclick="changeRadio(this.form.oper,'report');">  
<br><br><br><br>    


<select id="slt">
<option value="agree" >同意</option>
<option        value="downchange" selected >下发修改</option>
<option value="refuse">拒保</option>
<option        value="report">上报</option>
</select>
<br>
alert(this.form.slt.value)
<input type="button" name="test5" value="按钮5" onclick="alert(this.form.slt.value);">
<br>
document.getElementByIdx_x('slt')[2].innerText)
<input type="button" name="test6" value="按钮6" onclick="alert(document.getElementByIdx_x('slt')[2].innerText);">


</form>
</body>

分享到:
评论

相关推荐

    js获取下拉列表中选中的值和文本

    这是javascript获取下拉菜单选中的值和文本的技术文档

    js 获取服务器控件值的代码

    获取下拉列表选中项的值和文本(select)&lt;/title&gt;&lt;/head&gt; &lt;body&gt; [removed] //获取下拉列表选中项的文本 function getSelectedText(name){ var obj=document.getElementById(name); for(i=0;i&lt;...

    js实现input输入框输入信息后出现下拉选择框

    js实现input输入框输入信息后出现下拉选择框,下拉框的数据源可以使根据输入的值从数据库中动态获取

    程序天下:JavaScript实例自学手册

    6.5 从一个下拉列表往另一个下拉列表添加内容 6.6 改变列表项的上下顺序 6.7 给下拉框数据分组 6.8 获取列表框的选择 6.9 类IE下拉框 6.10 下拉框式邮件发送 6.11 获取多选框的选择项 6.12 手动调整的列表框 6.13 ...

    《程序天下:JavaScript实例自学手册》光盘源码

    6.5 从一个下拉列表往另一个下拉列表添加内容 6.6 改变列表项的上下顺序 6.7 给下拉框数据分组 6.8 获取列表框的选择 6.9 类IE下拉框 6.10 下拉框式邮件发送 6.11 获取多选框的选择项 6.12 手动调整的列表框 6.13 ...

    JavaScript完全自学宝典 源代码

    示例描述:介绍JavaScript管理cookie和userData。 11.1.html JavaScript写数据到cookie。 11.2.html JavaScript获取cookie信息。 11.3.html JavaScript修改cookie的保存有效期。 11.4.html 保存数据...

    JSP实用技巧集合,jsp编程的一些小技巧总结

    2. 在下拉列表框里选择一个值后跳出新窗口? 3. 在JSP中启动execl? 4. 两级下拉列表框联动菜单? 5. java中如何把一个目录下的文件移到另一个指定的目录? 6. 制作表格线? 7. jsp如判别一个字符在A到Z之间? 8. 得到一...

    javascript函数的解释

    34.下拉列表框的值:document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.selectedIndex来确定被选中的值) 35.字符串的定义:var myString = new String("This is lightsword"); 36.字符串转成...

    JavaScript笔记

    JavaScript:定义行为和动作 (基于对象和事件驱动的客户端脚本语言;也是一种广泛应用于客户端Web开发的脚本语言) 基于对象:网页中的一切元素都是假象!不需要new,即可直接使用 事件驱动:JavaScript的执行都是...

    107个常用javascript语句

    34.下拉列表框的值:document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.selectedIndex来確定被选中的值) 35.字符串的定义:var myString = new String("This is lightsword"); 36.字符串转成...

    jsp编程技巧集锦

    在下拉列表框里选择一个值后跳出新窗口? 3. 在JSP中启动execl? 4. 两级下拉列表框联动菜单? 5. java中如何把一个目录下的文件移到另一个指定的目录? 6. 制作表格线? 7. jsp如判别一个字符在A到Z...

    ExtAspNet_v2.3.2_dll

    -重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。 -GetNodeById更名为FindNode,保持和...

    PHP程序开发范例宝典III

    实例028 获取下拉列表的值 40 实例029 获取跳转菜单的值 41 实例030 获取文件域的值 42 2.2 动态添加表单元素 42 实例031 不提交表单获取单选按钮的值 43 实例032 选中单选按钮后显示其他表单元素 44 ...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。 -GetNodeById更名为FindNode,保持和...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例134 获取数组当前的键名和值 162 实例135 检测数组中是否存在某个值 163 实例136 获取数组中的当前单元 164 实例137 从数组中随机取出元素 165 实例138 合并数组 166 实例139 拆分数组 167 实例140 遍历数组 168...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例134 获取数组当前的键名和值 162 实例135 检测数组中是否存在某个值 163 实例136 获取数组中的当前单元 164 实例137 从数组中随机取出元素 165 实例138 合并数组 166 实例139 拆分数组 167 实例140 遍历数组 168...

    html入门到放弃笔记

    1、创建一个 div 标记 ,增加属性 ,设置 align 属性的值为 center ,设置 id 属性的值为 container,设置 title 属性的值为 这是一个div 这是一个div"&gt; 四大标准属性: 1、id :定义元素在页面中独一无二的...

    asp.net知识库

    帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个...

Global site tag (gtag.js) - Google Analytics