1. 程式人生 > 其它 >jQuery獲取option方法彙總

jQuery獲取option方法彙總

https://www.cnblogs.com/shenyiyangle/p/10503884.html

jQuery的一些方法理出一些常用的方法:

 1 //獲取第一個option的值 
 2 $('#test option:first').val(); 
3 //最後一個option的值 4 $('#test option:last').val();
5 //獲取第二個option的值 6 $('#test option:eq(1)').val();
7 //獲取選中的值 8 $('#test').val(); 9 $('#test option:selected').val();
10 //設定值為2的option為選中狀態 11 $('#test').attr('value','2');
12 //設定第一個option為選中 13 $('#test option:last').attr('selected','selected'); 14 $("#test").attr('value' , $('#test option:last').val()); 15 $("#test").attr('value' , $('#test option').eq($('#test option').length - 1).val());
16 //獲取select的長度 17 $('#test option').length;
18 //新增一個option 19 $("#test").append("ff"); 20 $("ff").appendTo("#test");
21 //添除選中項 22 $('#test option:selected').remove();
23 //指定項選中 24 $('#test option:first').remove();
25 //指定值被刪除 26 $('#test option').each(function(){ 27 if( $(this).val() == '5'){ 28 $(this).remove(); 29 } 30 }); 31 $('#test option[value=5]').remove(); 32 33 //獲取第一個Group的標籤 34 $('#test optgroup:eq(0)').attr('label');
35 //獲取第二group下面第一個option的值 36 $('#test optgroup:eq(1) :option:eq(0)').val();

獲取select中選擇的text與value相關的值

1 獲取select選擇的Text : var checkText=$("#slc1").find("option:selected").text(); 
2 獲取select選擇的value:var checkValue=$("#slc1").val(); 
3 獲取select選擇的索引值: var checkIndex=$("#slc1 ").get(0).selectedIndex; 
4 獲取select最大的索引值: var maxIndex=$("#slc1 option:last").attr("index"); 

設定select選擇的Text和Value

1 設定select索引值為1的項選中:$("#slc1 ").get(0).selectedIndex=1; 
2 設定select的value值為4的項選中: $("#slc1 ").val(4); 
3 設定select的Text值為JQuery的選中: 
4 $("#slc1 option[text='jQuery']").attr("selected", true); 
5 PS:特別要注意一下第三項的使用哦。看看JQuery的選擇器功能是如此地強大呀! 

友情提示:
  jquery程式碼中,可以直接在select對應的dom節點上直接複製就可以實現選中的效果,
  如:$("#productId").val(data.id);

但是在實際開發中我們經常遇到一個問題就是ajax返回資料渲染失敗,
這是由於ajax自身書非同步請求的,你不知道是返回結果值先渲染頁面還是你的jquer先操作dom節點,解決這個問題很簡單,將ajax請求設為同步,加上asyn: false即可;


新增刪除option項

 1 為select追加一個Option(下拉項) 
 2 $("#slc2").append(""+i+""); 
3 為select插入一個option(第一個位置) 4 $("#slc2").prepend("請選擇"); 5 PS: prepend 這是向所有匹配元素內<span id="transmark"></span>部的開始處插入內容的最佳方式。
6 刪除select中索引值最大option(最後一個) 7 $("#slc2 option:last").remove();
8 刪除select中索引值為0的option(第一個) 9 $("#slc2 option[index='0']").remove();
10 刪除select中value='3'的option 11 $("#slc2 option[value='3']").remove();
12 刪除select中text='4'的option 13 $("#slc2 option[text='3']").remove();

option去重

1 $("select option").each(function() {
2             text = $(this).text();
3             if($("select option:contains("+text+")").length > 1)
4                 $("select option:contains("+text+"):gt(0)").remove();
5         });

判斷checkbox是否選擇:

(如果選擇的checkbox本身的話,可以直接用this.checked判斷是否被選擇,如果從其他節點獲取到checkbox節點的話用方法二)

 1 <span style="font-size:12px;">網上大多數文章都提供的方法都是無效的,害死個人,本文中的方法小編親測試有效,建議使用方法二:
 2  
 3 方法一:
 4 if ($("#checkbox-id")get(0).checked) {
 5     // do something
 6 }
 7  
 8 方法二:
 9 if($('#checkbox-id').is(':checked')) {
10     // do something
11 }
12  
13 方法三:
14 if ($('#checkbox-id').attr('checked')) {
15     // do something
16 }</span>

獲取選中checkbox的個數:

1 <span style="font-size:12px;">var num = $("input[type='checkbox'][class='subcheck']:checked").length;</span>