`

js获取前台选择组件的值

阅读更多

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


代码 select.htm 示例如下:

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

//获取下拉列表选中项的文本
function getSelectedText(name){
var obj=document.getElementById(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.getElementById(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.getElementById("oper").value,虽然跟单选按钮组一样的下拉列表(也是列表项的数组)也是一个数组,用这种方式可以获到下拉列表的值,但是单选按钮组却获不到所选的值。仔细研究了下,总结如下:

与下拉列表不同,单选按钮须用this.form.oper或者document.getElementsByName('oper')方式获取该数组对象,document.getElementById('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.getElementById('oper')))
<input type="button" name="test2" value="按钮2" onclick="alert('result:'+getRadio(document.getElementById('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.getElementById('slt')[2].innerText)
<input type="button" name="test6" value="按钮6" onclick="alert(document.getElementById('slt')[2].innerText);">


</form>
</body>

分享到:
评论

相关推荐

    前台分页组件,需后台一起完成

    2. **JavaScript/jQuery**(jquery.min.js):前端分页组件的核心是JavaScript,用于处理用户的翻页操作,如发送Ajax请求,更新显示的数据,以及维护分页导航的状态。jQuery是一个广泛使用的JavaScript库,可以简化...

    JS前台分页

    JavaScript(简称JS)前台分页是一种常见的网页交互技术,它允许用户在不刷新整个页面的情况下,动态加载并显示大量数据的分段内容。这种技术在处理大数据集时尤其有用,可以提高用户体验,减少服务器压力。在JSP...

    排队取号,map组件使用_微信小程序模板js代码前台前端H5页面源码.rar

    在微信小程序开发中,"排队取号,map组件使用_微信小程序模板js代码前台前端H5页面源码.rar"是一个非常实用的资源,它包含了利用Map组件实现排队取号功能的示例代码。这个压缩包可能包括了HTML、CSS、JavaScript(JS...

    用户反馈组件_微信小程序模板js代码前台前端H5页面源码.rar

    此资源是一个关于微信小程序用户反馈组件的源码模板,适用于js代码实现的前台前端H5页面。 首先,我们来深入了解一下微信小程序。微信小程序是一种基于微信生态的应用形式,由腾讯公司推出,它允许开发者构建无需...

    Coolite 中前台获取 GridPanel 当前选择行值的代码

    在讨论如何使用Coolite前端框架中的GridPanel组件来获取当前选择行的值之前,我们先要了解一些基础概念和步骤。Coolite是一个基于Ext JS的JavaScript框架,它允许开发者快速构建具有丰富界面和交互功能的Web应用程序...

    前台一些有用js

    "前台一些有用js"这个标题和描述暗示我们关注的是那些在用户端运行、直接影响用户体验的JavaScript代码和技巧。这些js通常用于处理用户输入、实现页面动态效果、进行数据验证以及与服务器进行异步通信等任务。下面,...

    Ext JS Excel前台导出

    Ext JS 是一款基于 JavaScript 的前端框架,它提供了丰富的 UI 组件库以及强大的数据处理能力。通过使用 Ext JS,开发者可以快速构建复杂的企业级 Web 应用程序。 #### 三、Excel导出原理 在前端实现Excel导出通常...

    浅谈在页面中获取到ModelAndView绑定的值方法

    本篇文章将深入探讨如何在页面中,无论是JSP还是JavaScript(JS),获取ModelAndView绑定的值。 首先,我们可以通过Expression Language (EL)表达式在JSP页面中直接获取ModelAndView绑定的值。EL是一种简化JSP页面...

    JSTree(js写的树形菜单,支持加载10000节点以上)

    **JSTree:高效处理大数据量的JavaScript树形菜单组件** 在Web开发中,树形菜单是一种常见的数据展示形式,用于组织和展示层次结构的数据。JSTree是一款基于JavaScript的开源库,专为构建功能丰富的交互式树形菜单...

    RSA组件,前台js加密,后台java解密

    在前端JS加密中,我们可以使用如CryptoJS或sjcl这样的库来实现RSA加密。首先,我们需要生成一对公私钥。这个过程通常在后端完成,然后将公钥发送到前端。在JavaScript中,公钥可以用于加密敏感数据,例如用户的密码...

    卡卡汽车 获取用户 设备信息_微信小程序模板js代码前台前端H5页面源码.rar

    本资源“卡卡汽车 获取用户 设备信息_微信小程序模板js代码前台前端H5页面源码.rar”显然是一个关于微信小程序的开发模板,其中包含了获取用户设备信息的相关JavaScript(JS)代码和H5(HTML5)页面源码。...

    gwt 获取前台所有input 标签.docx

    标题和描述提到的“gwt 获取前台所有input 标签”正是关于这个主题。下面将详细解释如何在GWT中实现这一操作,并扩展相关知识点。 首先,GWT是Google推出的一款开源工具,它允许开发者使用Java语言编写Web应用,...

    省市选择控件_微信小程序模板js代码前台前端H5页面源码.rar

    5. 自定义组件:微信小程序支持自定义组件,可以将省市选择封装为一个独立的组件,方便复用。 在H5页面中,虽然技术栈可能不同,但原理相似。通常会使用HTML、CSS和JavaScript(或库如jQuery)来实现。JS代码可能...

    jquery项目前台js

    在这个“jquery项目前台js”中,开发者可能还整合了其他JavaScript框架,如Bootstrap的JavaScript组件(如模态框、下拉菜单等)或AngularJS、Vue.js等MVVM框架,以增强页面的交互性和动态性。这些框架可以与jQuery...

    crypto-js加密解密资源包(含所有前台加密的js代码)

    本资源包“crypto-js加密解密资源包(含所有前台加密的js代码)”正是为了解决这一问题而设计的,它提供了一系列JavaScript实现的加密算法,适用于那些无法访问Google服务,无法轻易获取此类库的开发者。 首先,...

    前台JS实现图片轮播

    本篇文章将详细讲解如何使用JavaScript(JS)在前台实现一个带有切换特效的图片轮播功能。 一、HTML结构 首先,我们需要在HTML中创建轮播的基础结构。通常包括一个容器元素(如`div`),用于存放所有的图片,以及...

    城市切换_微信小程序模板js代码前台前端H5页面源码.rar

    在这个“城市切换_微信小程序模板js代码前台前端H5页面源码.rar”压缩包中,包含了一个实现城市切换功能的微信小程序模板,以及对应的JavaScript(js)代码和H5页面源码。以下将详细解析这个模板中的关键知识点: 1...

    extjs4 对各类型store各种数据的读取 model 前台 等等

    - **Grid Panel**: 通过Grid Panel组件可以方便地显示表格数据。 - **Form Panel**: 可以用来编辑或显示模型的字段。 - **List**: 显示列表数据。 #### 示例详解 文件中的代码片段展示了如何通过回调函数处理Store...

    web端开发,前台实现分页的js源码

    本篇主要介绍如何使用JavaScript(JS)在前端实现分页功能。 首先,理解分页的基本概念:分页通常包括“上一页”、“下一页”、页码和每页显示的条目数等元素。用户可以通过点击这些元素来切换不同的数据集。在JS中...

    新闻客户端_微信小程序模板js代码前台前端H5页面源码.rar

    【新闻客户端_微信小程序模板js代码前台前端H5页面源码】 新闻客户端微信小程序模板是开发者为构建新闻类应用而设计的一种预设框架,它包含了丰富的界面元素、交互逻辑和功能模块,旨在帮助开发者快速搭建自己的...

Global site tag (gtag.js) - Google Analytics