jQuery操作Select【转】

jQuery操作Select元素
本文介绍如何使用jQuery控制HTML中的Select元素及其子项Option,包括选取、添加、删除、修改等操作,并提供JavaScript版本的实现方法。

jQuery是如何控制和操作select的。先看下面的html代码

 

<select id="test">
<option value="1">选项一<option>
<option value="2">选项一<option>
                          ...
<option value="n">选项N<option>
</select>

 

 

所谓jQuery操作“select”, 说的更确切一些是应该是jQuery控制 “option”, 看下面的jQuery代码:

//获取第一个option的值
$('#test option:first').val();

//最后一个option的值
$('#test option:last').val();

//获取第二个option的值
$('#test option:eq(1)').val();

//获取选中的值
$('#test').val();
$('#test option:selected').val();

//设置值为2的option为选中状态
$('#test').attr('value','2');

//设置最后一个option为选中
$('#test option:last').attr('selected','selected');
$("#test").attr('value' , $('#test option:last').val());
$("#test").attr('value' , $('#test option').eq($('#test option').length - 1).val());

//获取select的长度
$('#test option').length;

//添加一个option
$("#test").append("<option value='n+1'>第N+1项</option>");
$("<option value='n+1'>第N+1项</option>").appendTo("#test");

//添除选中项
$('#test option:selected').remove();

//删除项选中(这里删除第一项)
$('#test option:first').remove();、

//指定值被删除
$('#test option').each(function(){
    if( $(this).val() == '5'){
         $(this).remove();
     }
});
$('#test option[value=5]').remove();

//获取第一个Group的标签
$('#test optgroup:eq(0)').attr('label');

//获取第二group下面第一个option的值
$('#test optgroup:eq(1) : option:eq(0)').val();
转自:http://www.cnblogs.com/shuang121/archive/2011/05/11/2043392.html

1.判断select选项中 是否存在Value="paraValue"的Item 
$("#selectid option[@value='paraValue']").length>0
2.向select选项中 加入一个Item 
$("#selectid").append("<option value=''>1111<option>");
3.从select选项中 删除一个Item 
$("#selectid").remove("<option value=''>1111<option>");
4.修改select选项中 value="paraValue"的text为"paraText" 
$("#selectid option:selected").attr("value","paraValue").attr("text","paraText");
5. 设置select中text="paraText"的第一个Item为选中 
$("#selectid option[@text='paraText']").attr("selected","true")
6.设置select中 value="paraValue"的Item为选中 
$("#selectid option[@value='paraValue']").attr("selected","true")

7.设置select中第一 个Item为选中 
$("#selectid option").eq(0).attr('selected', 'true');

8. 得到select的当前选中项的value 
$("#selectid").val();
9.得到select的当前选中项的text 
$("#selectid").text();
10. 得到select的当前选中项的Index 
document.getElementById("select1").selectedIndex;
$("#selectid").get(0).selectedIndex
11. 清空select的项
$("#selectid").empty();

JS版本的:

//1.判断select选项中 是否存在Value="paraValue"的Item    function jsSelectIsExitItem(objSelect,objItemValue)    {         var isExit = false ;         for ( var i=0;i;I++)         {             if (objSelect.options[i].value == objItemValue)             {                 isExit = true ;                 break ;             }         }              return isExit;    }       //2.向select选项中 加入一个Item    function jsAddItemToSelect(objSelect,objItemText,objItemValue, objItemPos)    {         //判断是否存在         if (jsSelectIsExitItem(objSelect,objItemValue))         {             alert( "该Item的 Value值已经存在" );         }         else         {             var varItem = new Option(objItemText,objItemValue);    //       objSelect.options[objSelect.options.length] = varItem;             objSelect.options.add(varItem, objItemPos);             alert( "成功加入" );         }       }       //3.从select选项中 删除一个Item    function jsRemoveItemFromSelect(objSelect,objItemValue)    {         //判断是否存在         if (jsSelectIsExitItem(objSelect,objItemValue))         {             for ( var i=0;i;I++)             {                 if (objSelect.options[i].value == objItemValue)                 {                     objSelect.options.remove(i);                     break ;                 }             }                    alert( "成功删除" );                    }         else         {             alert( "该 select中 不存在该项" );         }       }       //4.修改select选项中 value="paraValue"的text为"paraText"    function jsUpdateItemToSelect(objSelect,objItemText,objItemValue)    {         //判断是否存在         if (jsSelectIsExitItem(objSelect,objItemValue))         {             for ( var i=0;i;I++)             {                 if (objSelect.options[i].value == objItemValue)                 {                     objSelect.options[i].text = objItemText;                     break ;                 }             }                    alert( "成功修改" );                    }         else         {             alert( "该 select中 不存在该项" );         }       }               //5.设置select中text="paraText"的第一个 Item为选中    function jsSelectItemByValue(objSelect,objItemText)    {            //判断是否存在         var isExit = false ;         for ( var i=0;i;I++)         {             if (objSelect.options[i].text == objItemText)             {                 objSelect.options[i].selected = true ;                 isExit = true ;                 break ;             }         }              //Show出结果         if (isExit)         {             alert( "成功选中" );                    }         else         {             alert( "该 select中 不存在该项" );         }       }       //6.设置select中value="paraValue"的Item 为选中    document.all.objSelect.value = objItemValue;       //7.得到select的当前选中项的value    var currSelectValue = document.all.objSelect.value;       //8.得到select的当前选中项的text    var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text;       //9.得到select的当前选中项的Index    var currSelectIndex = document.all.objSelect.selectedIndex;       //10.清空select的项    document.all.objSelect.options.length = 0;  
转自:http://www.cnblogs.com/shuang121/archive/2011/05/11/2043392.html
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值