1. 程式人生 > >jquery根據option的text定位選中option

jquery根據option的text定位選中option

開始寫的類似於這種:

[javascript] view plain copy
  1. $('#test option[text="b"]').attr("selected",true);  
[javascript] view plain copy
  1. $('#test').find('option[text="b"]').attr("selected",true);  

然而,程式碼卻不生效,不知原因為何!最終解決了問題:

原因:上面兩種方法在jquery低於1.4.2的版本(含)中有效,在更高版本中無效

解決一:精確匹配,選擇文字與所給字串完全一樣的option。

[javascript] view plain copy
  1. $('#test option').filter(function(){return $(this).text()=="b";}).attr("selected",true);  

解決二:子串匹配,選擇文字包含所給字串的option。 [javascript] view plain copy
  1. $("#test option:contains('b')").attr('selected'true);  

解決三:自定義函式

$("#btn").click(function(){  
    var count=$("#sel").get(0).options.length;  
    for(var i=0;i<count;i++){  
        if($("#sel").get(0).options[i].text == "b")    
        {  
            $("#sel").get(0).options[i].selected = true;            
            break;    
        }    
    }  
});
轉載自: