jquery笔记:jquery select操作小结

这里先缓存要操作的jquery对象

1 var $jqForm = $("#jq-form"),    // 获取表单对象
2     $jqSel = $("#jq-select"),    // 获取下拉列表对象
3     $jqOpts = $jqSel.find("option"),    // 获取选项对象
4     $btnReset = $("#btn-reset");    // 获取重置按钮对象

 

一、jquery select 获取当前选项的值、文本

1     $jqSel.val();    // 获取当前选项值
2     $jqSel[0].selectedIndex;    // 获取当前选项索引,需要将jquery对象转成DOM对象来获取属性值
3     $jqOpts.filter(":selected").text();    // 获取当前选项文本

 

二、jquery select 修改选中的选项

1     $jqSel.val(3);    // 选中值为3的选项
2     $jqSel[0].selectedIndex = 4;    // 选中第五个选项
3     
4     $jqOpts.prop("selected", false);    // 取消当前选项的选中状态,默认选中第一个选项
5     $jqOpts.eq(3).prop("selected", true);    // 选中第四个选项
6     
7     $jqOpts.filter("[value=3]").prop("disabled", true); // 禁用选项,禁用后无法手选此项

ps:jquery1.6后新增prop()方法,prop()方法主要用来获取和设置元素的特定属性值,有遇到过一种情况当checkbox被选中时checked属性值并没有被设置成checked="checked"的时候,使用atrr("checked") 获取到的值是undefined,select也是一样,此时只有通过prop()才能返回true、false值。

以下是官网建议attr()、prop()的使用

 

三、jquery select 添加、删除选项

1     $jqOpts.first().remove();    // 移除第一个选项
2     $jqOpts.filter("[value=2]").remove();    // 移除值为2的选项
3     
4     $jqSel.append('<option value="6">追加的选项</option>');    // 列表底部追加一个新选项
5     $jqSel.prepend('<option value="7">前置的选项</option>');    // 列表顶部前置一个新选项

 

四、jquery select change事件的触发

 1     // 为下拉列表添加change事件,只有在手动改变选项的情况下才能触发事件
 2     $jqSel.change(function(){
 3         alert("select value change");
 4     });
 5     
 6     // 触发change事件
 7     $jqSel.change();
 8     
 9     // 重置按钮无法触发下拉列表的change事件,这里可以修改重置按钮的点击事件
10     $btnReset.click(function(event){
11         // 阻止默认事件
12         event.preventDefault();        
13         // 调用表单DOM对象reset方法,jquery对象没有reset方法 
14         $jqForm[0].reset();        
15         // 触发下拉列表change事件
16         $jqSel.change();
17     });

 

HTML代码

 1 <form id="jq-form" action="" method="get">
 2     <select id="jq-select" name="">
 3         <option value="1">第一个选项</option>
 4         <option value="2">第二个选项</option>
 5         <option value="3">第三个选项</option>
 6         <option value="4">第四个选项</option>
 7         <option value="5">第五个选项</option>
 8     </select>
 9     <input id="btn-reset" type="reset" />
10 </form>

 

 

 


 

 

posted @ 2013-07-13 17:31  黑夜奇迹  阅读(1897)  评论(0)    收藏  举报