`

获取select值(转)

    博客分类:
  • Java
阅读更多
转自:http://hi.baidu.com/wenliang86/blog/item/fae6e3ea4ec60ac0d539c90b.html

获取显示的汉字

document.getElementById("bigclass").options[window.document.getElementById("bigclass").selectedIndex].text

获取数据库中的id

window.document.getElementById("bigclass").value

获取select组分配的索引id

window.document.getElementById("bigclass").selectedIndex

例子:

<select name="bigclass" id="bigclass" onChange="javascript:updatePage2();">

<option value="" selected="selected">ajax实验</option>

<option value="4">我适宜市哈</option>

</select>

使用

document.getElementById("bigclass").options[window.document.getElementById("bigclass").selectedIndex].text

的结果是:我适宜市哈

使用

window.document.getElementById("bigclass").value

的结果是:4

使用

window.document.getElementById("bigclass").selectedIndex

的结果是:1

一、新增一个option

    var sel=document.getElementById("select的id");

    var op=document.createElement_x("option");

     op.value=值;

     op.text=显示文本;

     sel.add(op);

二、删除一个option

    var sel=document.getElementById("typelist");

if(sel.selectedIndex==-1)

   alert("请选中要删除的项!");

for(var i=0;i<sel.options.length;i++){

if(sel.options[i].selected){

sel.options.remove(i);

break;

}

}

三、清空select的所有option

   var citySel=document.getElementById("select的id");

   citySel.options.length=0;

  

四、获得选中项的值

    var citySel=document.getElementById("select的id");

    var selectedValue=citySel.value;

五、获得当前选中项的索引

    var selectedIndex=document.all.objSelect.selectedIndex;

六、设置select的当前选中项

    方法1(单个select): document.getElementById("products_type_id").selectedIndex=1;

    方法2(级联select如省市级联):

     var province_sel=document.getElementById("province");//获得省select

var city_sel=document.getElementById("city");//获得市select

for(var i=0;i<province_sel.options.length;i++){

if(province_sel.options[i].value=="从数据库获取的省的值"){

    province_sel.options[i].selected=true;

break;

}

}

initCity("从数据库获取的省的值");//初始化市select

for(var i=0;i<city_sel.options.length;i++){

if(city_sel.options[i].value=="${city}"){

    city_sel.options[i].selected=true;

break;

}

}

七、创建select动态设置选中项

   var sel=document.getElementById("other_state");

     var sel_val=document.getElementById("other_media_id").innerHTML;

    

for(var obj in data){

var id=data[obj]["other_media_id"];  

var name=data[obj]["other_media_name"];

var op=document.createElement_x("option");

op.setAttribute("value",id);

op.appendChild(document.createTextNode(name));     

           if(id==sel_val){

op.setAttribute("selected","true");

   }

            sel.appendChild(op);

}

 

 

 

 

1、向Select里添加Option

function fnAddItem(text,value)

        {

            var selTarget = document.getElementById("selID");

            selTarget.Add(new Option("text","value"));

        }

2、删除Select里的Option

function fnRemoveItem()

        {

            var selTarget = document.getElementById("selID");

            if(selTarget.selectedIndex > -1)

            {//说明选中

                for(var i=0;i<selTarget.options.length;i++)

                {

                    if(selTarget.options[i].selected)

                    {

                        selTarget.remove(i);

                       

                        i = i - 1;//注意这一行

                    }

                }

            }

        }

3、移动Select里的Option到另一个Select中

        function fnMove(fromSelectID,toSelectID)

        {

            var from = document.getElementById(fromSelectID);

            var to = document.getElementById(toSelectID);

           

            for(var i=0;i<from.options.length;i++)

            {

                if(from.options[i].selected)

                {

                    to.appendChild(from.options[i]);

                    i = i - 1;

                }

            }

        }

    if 里的代码也可用下面几句代码代替

var op = from.options[i];

to.options.add(new Option(op.text, op.value));

from.remove(i);

4、Select里Option的上下移动

        function fnUp()

        {  

            var sel = document.getElementById("selID");

            for(var i=1; i < sel.length; i++)

            {//最上面的一个不需要移动,所以直接从i=1开始

                if(sel.options[i].selected)

                {

                    if(!sel.options.item(i-1).selected)

                    {//上面的一项没选中,上下交换

                          var selText = sel.options[i].text;

                          var selValue = sel.options[i].value;

                         

                          sel.options[i].text = sel.options[i-1].text;

                          sel.options[i].value = sel.options[i-1].value;

                          sel.options[i].selected = false;

                         

                          sel.options[i-1].text = selText;

                          sel.options[i-1].value = selValue;

                          sel.options[i-1].selected=true;

                    }

                }

            }

        }

在进行上下两项互换时,也可以使用以下代码,但是效率很低,因为每一次的Dom操作都将导致整个页面的重新布局,所以不如直接修改元素的属性值。

                        var oOption = sel.options[i]

                        var oPrevOption = sel.options[i-1]

                        sel.insertBefore(oOption,oPrevOption);

向下移动同理

function fnDown()

        {

            var sel = fnGetTarget("selLeftOrRight");

            for(var i=sel.length -2; i >= 0; i--)

            {//向下移动,最后一个不需要处理,所以直接从倒数第二个开始

                if(sel.options.item(i).selected)

                {

                    if(!sel.options.item(i+1).selected)

                    {//下面的Option没选中,上下互换

                          var selText = sel.options.item(i).text;

                          var selValue = sel.options.item(i).value;

                         

                          sel.options.item(i).text = sel.options.item(i+1).text;

                          sel.options.item(i).value = sel.options.item(i+1).value;

                          sel.options.item(i).selected = false;

                         

                          sel.options.item(i+1).text = selText;

                          sel.options.item(i+1).value = selValue;

                          sel.options.item(i+1).selected=true;

                    }

                }

            }

        }

5、Select里Option的排序

这里借助Array对象的sort方法进行操作,sort方法接受一个function参数,可以在这个function里定义排序时使用的算法逻辑。

array.sort([compareFunction]) 里compareFunction接受两个参数(p1,p2),sort操作进行时,array对象会每次传两个值进去,进行比较;compareFunciton必须返回一个整数值:当返回值>0时,p1会排在p2后面;返回值<0时,p1会排在p2前面;返回值=0时,不进行操作。

例如:

function fnCompare(a,b)

        {

            if (a < b)

                return -1;

            if (a > b)

                return 1;

            return 0;

        }

var arr = new Array();

//add some value into arr

arr.sort(fnCompare);

//这里sort的操作结果就是arr里的项按由小到大的升序排序

//如果把fnCompare里改为

//if (a < b)

// return 1;

//if (a > b)

// return -1;

//return 0;

//则sort的结果是降序排列

好,下面就是对Select里Option的排序

//因为排序可以按Option的Value排序,也可以按Text排序,这里只演示按Value排序

function sortItem()

{

    var sel = document.getElementById("selID");

    var selLength = sel.options.length;

    var arr = new Array();

    var arrLength;

    //将所有Option放入array

    for(var i=0;i<selLength;i++)

    {

        arr[i] = sel.options[i];

    }

    arrLength = arr.length;

    arr.sort(fnSortByValue);//排序

    //先将原先的Option删除

    while(selLength--)

    {

        sel.options[selLength] = null;

    }

    //将经过排序的Option放回Select中

    for(i=0;i<arrLength;i++)

    {

        sel.add(new Option(arr[i].text,arr[i].value));

    }

}

function fnSortByValue(a,b)

{

    var aComp = a.value.toString();

    var bComp = b.value.toString();

    if (aComp < bComp)

        return -1;

    if (aComp > bComp)

        return 1;

    return 0;

}

排序时还可以有更多选项,比如将value值看做Integer或是String进行排序,得到的结果是不一样的。
 

分享到:
评论

相关推荐

    Jquery获取Select标签的值

    ### Jquery 获取 Select 标签的值 在前端开发中,使用 jQuery 框架能够极大地简化 DOM 操作,使得获取或设置 HTML 元素的属性变得更加容易。本篇文章将详细介绍如何利用 jQuery 来获取 Select 标签的值以及相关的...

    el-select获取选中的label值.pdf

    从提供的信息来看,这里介绍的是如何在不通过循环遍历选项的情况下,直接获取`el-select`组件选中项的`label`值。 首先,`el-select`组件允许我们绑定一个数组作为其选项,每个选项通常包含`value`和`label`两个...

    获取select的值

    有时候,我们需要获取用户选择的`select`的值,或者在页面加载时预设某个`option`为选中状态。在这个场景中,jQuery(简称jq)作为一个强大的JavaScript库,提供了方便的方法来实现这些功能。本文将详细讲解如何使用...

    如何获取select下拉框的值(option没有及有value属性)

    如何获取select下拉框的值: 1.下拉框的option没有value属性时 代码如下: &lt;select id=”param1″&gt; 学号&lt;/option&gt; 姓名&lt;/option&gt; 年龄&lt;/option&gt; &lt;/seclect&gt; [removed] [removed] = funciton(){ var param = ...

    页面如何获取select框选中值(实例)

    用alert()方法显示选中的值 var prov=$("#selProvince option:selected"); var city=$("#selCity option:selected"); var dist=$("#selDistrict option:selected"); alert("省:"+prov.text()+"市:"+...

    layui 监听select选择 获取当前select的ID名称方法

    //得到被选中的值 console.log(data.othis); //得到美化后的DOM对象 }); 获取自定义属性 data.elem.getAttribute("data-id") 例子:取得ID名称 form.on('select', function(data){ //console.log(data.elem);...

    jquery获得select option值

    ### 四、获取下拉列表(select)的值 1. **获取当前选中的选项的值**: ```javascript var item = $("select[@name=items] option:selected").text(); ``` 这里使用了`option:selected`选择器来选取当前被选中的`...

    jquery根据name取得select选中的值实例(超简单)

    实例如下所示: &lt;select name=region[province] id= class=region valid&gt; 省、直辖市 北京市 &lt;/select&gt;...取得textarea的值 &lt;textarea id='address'&gt;&lt;/textarea &gt; $(#textare

    jQuery获取Select选择的Text和_Value

    可以使用 `$("#select_id").get(0).selectedIndex` 方法获取 Select 选择的索引值。 4. 获取 Select 的最大索引值: 可以使用 `$("#select_id option:last").attr("index")` 方法获取 Select 的最大索引值。 二、...

    jQuery获取Select标签的手册

    1. **获取Select标签的value值**: 要获取`Select`标签中当前选中的选项的`value`属性值,可以使用`$('select').val()`。例如: ```javascript var selectedValue = $('select').val(); ``` 这将返回`&lt;select&gt;`...

    javascript获取select值的方法完整实例

    //jQuery获取选中select值 $('#testSelect option:selected').text(); //选中的文本 $('#testSelect option:selected').val(); //选中的值 $("#testSelect").get(0).selectedIndex; //索引 ``` 在提供的实例中,...

    javascript 获取select ->option中id、value、label属性及中内容

    javascript 获取select -&gt;option中id、value、label属性及&lt;option&gt;&lt;/option&gt;中内容

    用jquery获取select标签中选中的option值及文本的示例

    综上所述,示例演示了使用jQuery来获取select标签中选中项的值和文本的方法,并考虑了没有value属性的特殊情况,还涉及到了事件绑定和DOM操作的基本知识。对于学习和使用jQuery进行前端开发的读者来说,这些内容都是...

    js获取select默认选中的Option并不是当前选中值

    js函数方法: 代码如下: [removed] function getDefaultSelectedOption(selectId, valIfNull) { var dom, selectId = selectId.replace(/^#/, ”), opts; try { opts = document.getElementById(selectId)....

    javascript获取select值的方法分析

    本文将详细介绍使用JavaScript如何获取select元素中的值,并提供实例分析相关的技巧。 首先,获取用户在select元素中选中的值是Web开发中的常见需求。通常,select元素会通过一个id属性来标识自己,以便JavaScript...

    jquery获取select选中值的方法分析

    本文实例讲述了jquery获取select选中值的方法。分享给大家供大家参考,具体如下: 误区: 以前一直以为jquery获取select中option被选中的文本值,是这样写的: 复制代码 代码如下:$(“#s”).text(); //获取所有...

    asp.net获取select值的方法

    以上是在***中获取`&lt;select&gt;`元素选中值的基本方法。虽然示例中看起来很简单,但实际应用中可能会因为页面的复杂性和特定的业务需求而变得更加复杂。开发人员需要熟悉***的各种控件和数据绑定技术,以及如何在服务器...

    Html获取select元素的真实值和显示值.pdf

    这篇内容主要讨论如何在JavaScript中获取`&lt;select&gt;`元素的真实值(即`&lt;option&gt;`的`value`属性)和显示值(即`&lt;option&gt;`的可见文本)。 首先,来看一个简单的HTML示例: ```html *目标字段 &lt;select name=...

    jquery获取表单值

    获取下拉列表(`&lt;select&gt;`)的值 下拉列表提供了一个可滚动的选项列表供用户选择。获取被选中的值可以通过以下方式实现: ```javascript var selectVal = $("#select_id").val(); ``` 如果下拉列表允许多选,则...

    js获取select标签选中值的两种方式

    在JavaScript和jQuery中,获取`&lt;select&gt;`标签中选中选项的值是常见的操作,尤其在处理表单数据时。以下将详细介绍这两种方法,并提供一些相关的扩展知识。 ### JavaScript 获取选中值 #### 方法一:原生 ...

Global site tag (gtag.js) - Google Analytics