jqueryを使用してその値ではなくテキストでselect要素の項目を選択したいとします。テキストでjqueryを使用してselect要素の好きな項目を選択してください。
私はこのコードが見つかりました:
$("#myselect").val("Some oranges").attr("selected", "selected");
をしかし、私はそれは私の選択オプションのテキストを使用しようが、それは唯一のオプション値で動作します。
どうすればいいですか?
jqueryを使用してその値ではなくテキストでselect要素の項目を選択したいとします。テキストでjqueryを使用してselect要素の好きな項目を選択してください。
私はこのコードが見つかりました:
$("#myselect").val("Some oranges").attr("selected", "selected");
をしかし、私はそれは私の選択オプションのテキストを使用しようが、それは唯一のオプション値で動作します。
どうすればいいですか?
ような何か:
$("#myselect option").filter(function(){
return $(this).text() == "Some oranges";
}).attr("selected", "selected");
ライブフィドル:http://jsfiddle.net/WAsLu/
あなたはjQueryのを使用している場合にもテキスト値
$("#myselect option:contains('Some oranges')").attr("selected" , "selected");
が含まれているオプションを見つけるために、:contains()
擬似セレクタを使用することができます
.prop()
を使用している
$("#myselect option:contains('Some oranges')").prop("selected", true);
jQueryの:containsセレクタ延びるは大文字と小文字を区別しない部分のための大文字と小文字を区別しない完全一致またはicontainsためecontains有するセレクタを含み、大文字と小文字を区別し、そのコメントを1として
$("#myselect option:contains(Some oranges)").attr("selected", "selected");
あります一致:
$.expr[":"].econtains = function(obj, index, meta, stack){
return (obj.textContent || obj.innerText || $(obj).text() || "").toLowerCase() == meta[3].toLowerCase();
}
$.expr[':'].icontains = function(obj, index, meta, stack){
return (obj.textContent || obj.innerText || jQuery(obj).text() || '').toLowerCase().indexOf(meta[3].toLowerCase()) >= 0;
};
ケースを追加しました非感受性誘導体 –