飞 凡 人 生 路

select下拉框之JS/JQuery详细操作

下拉框的操作一直是我比较困扰的地方,以下将分别对js和jquery的操作进行比较性的说明。总结中也学习到了一些JQuery方法的使用技巧。

 

var sel_obj = 下拉框DOM对象

var $sel_obj = 下拉框JQuery对象

 

一、移除


 

1. 移除所有项:

  sel_obj.options.length = 0;

 

  $sel_obj.empty();

.empty()” 从被选元素移除所有内容,包括所有文本和子节点,保留其在dom中所占的位置

 

2. 移除下拉框中的一项:
  sel_obj.options.remove(index); 

index”为下拉框选项的索引值,若0索引项移出(自上而下),那么1索引项的索引会变为0,后面的索引依次向前推进

  移除所有项:(注意:倒循环)  

for(len=sel_obj.options.length, var i=len-1, ;i>=0;i--){

    sel_obj.options.remove(i); 
}

 

  $sel_obj.find("option").eq(index).remove();

.remove()” 从被选元素移除所有内容,包括所有文本和子节点,保留其在dom中所占的位置,这点与“.empty()”有所区别

 

二、添加


 

  sel_obj.options.add(new Option("text", "value"));

text”为下拉框选项的显示文本,“value”为下拉框选项的值,在下拉框末尾添加,索引值最大

 

  $sel_obj.append("<option value='value'>text</option>");

  $sel_obj.prepend("<option value='value'>text</option>");

“.append()”在下拉框末尾添加,添加后此项索引值最大; “.prepend()”在下拉框的首部添加,添加后此项索引值为0

 

四、获取


 

1. 获取下拉框选中项的值:
  sel_obj.options[sel_obj.selectedIndex].value;

 

  $sel_obj.val();

 

2. 获取下拉框选中项的文本:
  sel_obj.options[sel_obj.selectedIndex].innerText;

 

  $sel_obj.find("option:selected").text();

option:selected”为选中项,“option:first”为首项(索引值为0),“option:last”为末项(索引值最大)

 

3. 获取下拉框选中项的索引:
  sel_obj.selectedIndex;


  $sel_obj.prop("selectedIndex");

.prop()”应该被用来处理boolean attributes/properties以及在html(比如:window.location)中不存在的properties。其他所有的attributes(在html中你看到的那些)可以而且应该继续使用“.attr()”方法来进行操作。

   例如:

<select id="selId">
    <option value="a">AAA</option>
    <option value="b">BBB</option>
    <option value="c">CCC</option>
    <option value="e" selected="selected">EEE</option>
</select>

  结果为3。

 

五、判断


 

1. 判断下拉框是否选中:

  sel_obj.selectedIndex > -1 ? //选中 //没有选中;

 

  $sel_obj.prop("selected") ? //选中 //没有选中;

 

posted on 2013-04-10 17:33  飞 凡  阅读(1310)  评论(0编辑  收藏  举报

导航