jquery根據option的text定位選中option
阿新 • • 發佈:2019-01-24
開始寫的類似於這種:
[javascript] view plain copy- $('#test option[text="b"]').attr("selected",true);
- $('#test').find('option[text="b"]').attr("selected",true);
然而,程式碼卻不生效,不知原因為何!最終解決了問題:
原因:上面兩種方法在jquery低於1.4.2的版本(含)中有效,在更高版本中無效!
解決一:精確匹配,選擇文字與所給字串完全一樣的option。
- $('#test option').filter(function(){return $(this).text()=="b";}).attr("selected",true);
解決二:子串匹配,選擇文字包含所給字串的option。 [javascript] view plain copy
- $("#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; } } });