`

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
    分享到:
    评论

    相关推荐

    Global site tag (gtag.js) - Google Analytics