jQuery操作Select【转】

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值