텍스트로 옵션을 선택해야하는 선택기는 무엇입니까?
<select>
텍스트가 특정 값과 같은 옵션이 있는지 확인해야 합니다.
예를 들어가 있으면 <option value="123">abc</option>
"abc"를 찾고 있습니다.
이 작업을 수행 할 수있는 선택기가 있습니까?
$('#select option[value="123"]');
텍스트 와 비슷 하지만 비슷한 것을 찾고 있습니다.
이것은 도움이 될 수 있습니다.
$('#test').find('option[text="B"]').val();
그러면 B
텍스트가 포함 된 텍스트가 아닌 텍스트가있는 옵션이 제공 B
됩니다. 도움이 되었기를 바랍니다
최신 버전의 jQuery에서는 위의 기능이 작동하지 않습니다. 아래 Quandary에서 언급했듯이 , 이것은 jQuery 1.9.1에서 작동하는 것입니다.
$('#test option').filter(function () { return $(this).html() == "B"; }).val();
:contains()
선택기 를 사용하여 특정 텍스트가 포함 된 요소를 선택할 수 있습니다 .
예를 들면 다음과 같습니다.
$('#mySelect option:contains(abc)')
주어진 <select>
요소에 그러한 옵션이 있는지 확인하려면 다음 .has()
방법을 사용하십시오 .
if (mySelect.has('option:contains(abc)').length)
<select>
이러한 옵션을 포함하는 모든 것을 찾으려면 :has()
선택기를 사용하십시오 .
$('select:has(option:contains(abc))')
텍스트 상자의 값을 기반으로 목록의 선택된 인덱스를 설정하려고하는데 일부 텍스트 값이 여러 옵션에 포함되어 있기 때문에 이전 제안 중 어느 것도 jQuery 1.7.2에서 효과가 없었습니다. 나는 다음을 사용하여 끝났다.
$('#mySelect option:contains(' + value + ')').each(function(){
if ($(this).text() == value) {
$(this).attr('selected', 'selected');
return false;
}
return true;
});
아래의 동일한 코드에 작동 코드가 있습니다.
$("#test option").filter(function() {
return $(this).text() =='Ford';
}).prop("selected", true);
데모 : http://jsfiddle.net/YRBrp/83/
이것은 나를 위해 일했다 : $("#test").find("option:contains('abc')");
드롭 다운 목록에서 텍스트를 선택하는 가장 좋은 방법입니다.
$("#dropdownid option:contains(your selected text)").attr('selected', true);
Firefox와 IE에서 모두 작동 할 때까지 몇 가지를 시도했습니다. 이것이 내가 생각해 낸 것입니다.
$("#my-Select").val($("#my-Select" + " option").filter(function() { return this.text == myText }).val());
더 읽기 쉬운 fasion으로 작성하는 또 다른 방법 :
var valofText = $("#my-Select" + " option").filter(function() {
return this.text == myText
}).val();
$(ElementID).val(valofText);
의사 코드 :
$("#my-Select").val( getValOfText( myText ) );
다음을 사용하십시오
$('#select option:contains(ABC)').val();
이것은 jQuery 1.6 (열기 대괄호 앞의 콜론 참고)에서 작동하지만 최신 릴리스에서는 (1.10) 실패합니다.
$('#mySelect option:[text=abc]")
아래 jquery 버전 1.10.2의 경우 나를 위해 일했습니다.
var selectedText="YourMatchText";
$('#YourDropdownId option').map(function () {
if ($(this).text() == selectedText) return this;
}).attr('selected', 'selected');
});
이것은 나를 위해 작동
$('#mySelect option:contains(' + value + ')').attr('selected', 'selected');
이것은 나를 위해 작동합니다 :
var result = $('#SubjectID option')
.filter(function ()
{ return $(this).html() == "English"; }).val();
result
변수는 일치하는 텍스트 값의 인덱스를 반환합니다. 이제 색인을 사용하여 설정하겠습니다.
$('#SubjectID').val(result);
옵션을 반복하거나 동일한 텍스트를 옵션의 다른 속성 안에 넣고 그와 함께 선택하십시오.
이것은 또한 작동합니다.
$ ( '# test'). find ( "선택 옵션 :( 'B')"). filter ( ": selected");
이 답변에 설명 된 것처럼 hasText에 대한 자신의 선택기를 쉽게 만들 수 있습니다. 이것은 당신이 옵션을 찾을 수 있습니다$('#test').find('option:hastText("B")').val();
내가 추가 한 hasText 메소드는 다음과 같습니다.
if( ! $.expr[':']['hasText'] ) {
$.expr[':']['hasText'] = function( node, index, props ) {
var retVal = false;
// Verify single text child node with matching text
if( node.nodeType == 1 && node.childNodes.length == 1 ) {
var childNode = node.childNodes[0];
retVal = childNode.nodeType == 3 && childNode.nodeValue === props[3];
}
return retVal;
};
}
이것은 나를 위해 작동
var options = $(dropdown).find('option');
var targetOption = $(options).filter(
function () { return $(this).html() == value; });
console.log($(targetOption).val());
모든 게시물 주셔서 감사합니다.
참고URL : https://stackoverflow.com/questions/3744289/which-selector-do-i-need-to-select-an-option-by-its-text
'IT' 카테고리의 다른 글
자바 추상 인터페이스 (0) | 2020.05.12 |
---|---|
해석 언어에서 매우 큰 정수로 작업 할 때 예기치 않은 결과 (0) | 2020.05.12 |
JQuery를 사용하여 HTML 5 비디오 재생 / 일시 정지 (0) | 2020.05.12 |
각도 2 @ViewChild 주석은 정의되지 않은 값을 반환합니다. (0) | 2020.05.12 |
PHP에서 JavaScript 함수를 호출하는 방법? (0) | 2020.05.12 |