🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] 例子: ``` <script src="https://cdn.bootcss.com/jquery/1.11.3/jquery.js"></script> <select name="test" id="select_id"> <option value="1" data-value="12">10</option> <option value="2">20</option> <option value="value">value</option> </select> ``` # (一)触发 ## 觖发事件 ``` 1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 ``` # (二)获取 ## 1、获取Select选择的Text值 ``` 1. $("#select_id").find("option:selected").text(); //建议 2. $("#select_id option:selected").text(); //建议 3. $("select[name='test']").find("option:selected").text(); //建议 ``` ## 2、获取Select选择的Value值 ``` 1. $("#select_id").val(); ``` ## 3、获取select选择的索引值 ``` 1. $("#select_id").get(0).selectedIndex; 2. $('#select_id').prop('selectedIndex'); 3. $('option:selected', '#select_id').index(); 4. $('#select_id option').index($('#select_id option:selected')) 5. $("#select_id option:last").attr("index"); //获取Select最大的索引值 ``` ## 4、得到select项的个数 ``` $("#select_id").get(0).options.length ``` ## 5、获取select选择的自定义值 ``` $("#select_id").find("option:selected").attr("data-value"); //建议 ``` # (三)选中 ## 1、根据value值选中 ``` 1. $("#select_id").val(4); //根据value值选中 ``` ## 2、根据索引值选中 ``` 1. $("#select_id").get(0).selectedIndex=1; //根据索引值选中 ``` ## 3、设置text为pxx的项选中 ``` $(".selector").find("option[text='pxx']").attr("selected",true); ``` ## 4、最后一个值选中 ``` $("#approve option:last").attr("selected",true); ``` # (四)添加 ## 1、添加select的Option项 ``` 1. $("#select_id").append("<option value='Value'>Text</option>"); //为Select追加一个Option(下拉项) 2. $("#select_id").prepend("<option value='0'>请选择</option>"); //为Select插入一个Option(第一个位置) 3. $("<option value='1'>1111</option>").appendTo("#select")//添加下拉框的option 4. $("#select_id").get(0).options.add(new Option(text,value)); ``` # (五)删除和清空 ## 1、删除select的Option项 ``` 3. $("#select_id option:last").remove(); //删除Select中索引值最大Option(最后一个) 5. $("#select_id option[value='3']").remove(); //删除Select中Value='3'的Option 6. $("#select_id option[data-value='12']").remove(); //删除自定义 data-value ``` ## 2、清空 ``` 1. $("#select_id").empty();//清空下拉框//$("#select").html(''); 2. $("#select_id").get(0).options.length = 0; ``` # (六)其他 ## 1、判断一组select是否有空值 ``` $('[name=select]').each(function () { if ($(this).val() == "0") { alert('请填写值!'); return; } }); ``` ## 1、获取一组select的数量 方法一: ``` $('[name=select]').length ``` 方法二: ``` $(".select_class").length; ``` ## 3、当一组select有值的话,给另外一个select赋它的值 ``` <h2>两个select选择后,另外一个select才被赋值</h2> <h2>select1</h2> <select name="cost" id="select1" class="select_class"> <option value="0" >请选择</option> <option value="1" selected>1</option> <option value="2">2</option> </select> <select name="cost" id="select2" class="select_class"> <option value="0" >请选择</option> <option value="11" selected >11</option> <option value="22">22</option> </select> <h2>select_ok</h2> <select name="select_ok" id="select_ok"> <option value="0">请选择</option> </select> //2、判断一组select是否有空值 $.each //3、当一组select有值的话,给另外一个select赋它的值 var newcost = []; var newstring; var obj = $('[name=cost]'); var html = ''; $.each(obj,function (index,item) { newstring = $(item).find("option:selected").val(); html += '<option>'+$(item).find("option:selected").text()+'</option>'; if(result == '0'){ console.log('需要全部选择完再才能进行'); return false; } newcost.push(newstring); }); console.log(html); var result = newcost.indexOf('0').toString(); console.log(result); if(result == "-1"){ $("#select_ok").append(html); }else{ return false; } ``` 如图: ![mark](http://qiniu.newthink.cc/blog/20171228-180923373.png) ## 4、获取选中的option一行 ``` $(this).find("option:selected").get(0) ``` ## 5、select去重 ``` ``` # 实例 ## 1、jQuery获取select中所有option值 ``` <select id="language"> <option value="">请选择</option> <option value="Java">Java</option> <option value="PHP">PHP</option> <option value="Jekyll">Jekyll</option> </select> $(function(){ var array = new Array(); //定义数组 $("#language option").each(function(){ //遍历所有option var txt = $(this).val(); //获取option值 if(txt!=''){ array.push(txt); //添加到数组中 } }) }) ``` ## 2、去掉重复的select ``` <h2>去掉重复的select</h2> <select id="selectTest"> <option>1</option> <option>1</option> <option>2</option> <option>2</option> <option>3</option> </select> <input id="btndel" type="button" value="删除重复项"> <script> $(function(){ $("#btndel").click(function() { $("#selectTest option").each(function() { /*作用:遍历select option */ var getText = $(this).text(); if($("#selectTest option:contains("+getText+")").length > 1) /*作用:select option:contains("+text+")")包含text的个数 */ { $("#selectTest option:contains("+getText+"):gt(0)").remove(); /*作用:包含text大于个数0的选项就移除*/ } }); }); }); </script> ```