etc./StackOverFlow

jQuery는 특정 옵션 태그 텍스트를 가져옵니다.

청렴결백한 만능 재주꾼 2023. 4. 30. 00:07
반응형

질문자 :Paolo Bergantino


좋아, 내가 이것을 가지고 있다고 말하십시오.

 <select id='list'> <option value='1'>Option A</option> <option value='2'>Option B</option> <option value='3'>Option C</option> </select>

값이 '2'일 때 "옵션 B"를 얻으려면 선택기가 어떻게 생겼습니까?

이것은 선택한 텍스트 값을 가져오는 방법을 묻는 것이 아니라 값 속성에 따라 선택 여부에 관계없이 그 중 하나를 묻는 것입니다. 나는 시도했다:

 $("#list[value='2']").text();

하지만 작동하지 않습니다.



값이 2인 옵션을 얻으려면 다음을 사용하십시오.

 $("#list option[value='2']").text();

현재 선택된 옵션을 얻으려면 다음을 사용하십시오.

 $("#list option:selected").text();

Gabejazz

속성 value2 list 이 있는 요소를 찾고 있습니다.
원하는 것은 list 자식 option 입니다.

 $("#list option[value='2']").text()

nickf

이것은 나를 위해 완벽하게 작동했으며 MySQL에서 생성한 옵션으로 두 가지 다른 값을 보내는 방법을 찾고 있었고 다음은 일반적이고 동적입니다.

$(this).find("option:selected").text();

댓글 중 하나에서 언급했듯이. 이를 통해 모든 선택 상자와 함께 작동하는 동적 함수를 만들 수 있었습니다. 이 함수는 두 값, 옵션 값 및 텍스트를 모두 가져오려는 것입니다.

며칠 전 나는 이 코드를 사용한 사이트의 jQuery를 1.6에서 1.9로 업데이트할 때 작동이 중지된다는 사실을 알게 되었습니다. 아마도 다른 코드 조각과의 충돌이었을 것입니다... 어쨌든, 해결책은 찾기() 호출:

 $(this).find(":selected").text();

그것이 제 해결책이었습니다... jQuery를 업데이트한 후 문제가 있는 경우에만 사용하십시오.


raphie

Paolo가 게시한 원본 HTML을 기반으로 다음을 생각해 냈습니다.

 $("#list").change(function() { alert($(this).find("option:selected").text()+' clicked!'); });

Internet Explorer 및 Firefox에서 작동하도록 테스트되었습니다.


asyadiqin

$("#list option:selected").each(function() { alert($(this).text()); });

#list 요소에서 선택한 여러 값의 경우.


m3ct0n

  1. 페이지에 선택 태그가 하나만 있는 경우 id 'list' 내부에 선택을 지정할 수 있습니다.

     jQuery("select option[value=2]").text();
  2. 선택한 텍스트를 가져오려면

     jQuery("select option:selected").text();

Beena Shetty

다음을 시도하십시오.

 $("#list option[value=2]").text();

원본 스니펫이 작동하지 않는 이유는 OPTION 태그가 id list 가 있는 SELECT 태그의 자식이기 때문입니다.


Andrew Moore

이것은 얼마 동안 업데이트되지 않은 오래된 질문입니다. 지금 올바른 방법은 다음을 사용하는 것입니다.

 $("#action").on('change',function() { alert($(this).find("option:selected").text()+' clicked!'); });

이게 도움이 되길 바란다 :-)


mindmyweb

선택한 레이블을 얻고 싶었습니다. 이것은 jQuery 1.5.1에서 저에게 효과적이었습니다.

 $("#list :selected").text();

Dilantha

$(this).children(":selected").text()

Avinash Saini

.text(); 사용하여 선택한 옵션 텍스트를 가져올 수 있습니다.

다음과 같이 함수를 호출할 수 있습니다.

 jQuery("select option:selected").text();

Dilipkumar63

$("#list [value='2']").text();

id 선택자 뒤에 공백을 둡니다.


Mon

.each(function()...)를 사용하여 동적으로 생성된 선택 요소를 "루핑"하는 동안: $("option:selected").text(); $(this + " option:selected").text() 는 선택한 옵션 텍스트를 반환하지 않고 대신 null이었습니다.

그러나 Peter Mortensen의 솔루션은 다음과 같이 작동했습니다.

 $(this).find("option:selected").text();

.each() 에서 성공하지 못하는 이유를 모르겠습니다(아마도 내 실수일 것입니다). 하지만 Peter에게 감사합니다. 나는 그것이 원래 질문이 아니라는 것을 알고 있지만 "Google을 통해 오는 초보자를 위해" 언급하고 있습니다.

$('#list option:selected").each() 로 시작했을 것입니다. 단, select 요소에서도 항목을 가져와야 하는 경우는 예외입니다.


eon

사용하다:

 function selected_state(){ jQuery("#list option").each(function(){ if(jQuery(this).val() == "2"){ jQuery(this).attr("selected","selected"); return false; } }); } jQuery(document).ready(function(){ selected_state(); });

Mary Daisy Sanchez

나는 ID 대신 내부 필드 이름으로 val을 찾고 있었고 Google에서 이 게시물로 왔지만 필요한 솔루션을 찾지 못했지만 솔루션을 얻었고 여기에 있습니다.

따라서 이것은 SharePoint 목록에 긴 ID를 사용하는 대신 필드 내부 이름으로 선택된 값을 찾는 데 도움이 될 수 있습니다.

 var e = $('select[title="IntenalFieldName"] option:selected').text();

FAA

팁: 값이 동적이면 아래 코드를 사용할 수 있습니다.

 $("#list option[value='"+aDynamicValue+"']").text();

또는 (더 나은 스타일)

 $("#list option").filter(function() { return this.value === aDynamicValue; }).text();

jQuery에서 언급했듯이 특정 옵션 태그 텍스트를 가져오고 동적 변수를 값에 배치


Alireza Fattahi

나는 동적으로 캐스트 객체를 다룰 때 이 대답이 필요했고 여기에 있는 다른 방법은 작동하지 않는 것 같았습니다.

 element.options[element.selectedIndex].text

이것은 물론 nodeValue, childNodes 등으로 HTML을 구문 분석하는 대신 DOM 객체를 사용합니다.


Martin Clemens Bloch

대안 솔루션 으로 jQuery 선택기 의 컨텍스트 부분을 사용하여 드롭다운 목록 내에서 value="2" <option> 요소를 찾을 수도 있습니다.

 $("option[value='2']", "#list").text();

VisioN

오른쪽에 선택된 항목을 표시하는 다중 선택을 위한 동적 버전을 원했습니다( $(this).find ... 더 일찍 읽고 봤으면 함):

 <script type="text/javascript"> $(document).ready(function(){ $("select[showChoices]").each(function(){ $(this).after("<span id='spn"+$(this).attr('id')+"' style='border:1px solid black;width:100px;float:left;white-space:nowrap;'>&nbsp;</span>"); doShowSelected($(this).attr('id'));//shows initial selections }).change(function(){ doShowSelected($(this).attr('id'));//as user makes new selections }); }); function doShowSelected(inId){ var aryVals=$("#"+inId).val(); var selText=""; for(var i=0; i<aryVals.length; i++){ var o="#"+inId+" option[value='"+aryVals[i]+"']"; selText+=$(o).text()+"<br>"; } $("#spn"+inId).html(selText); } </script> <select style="float:left;" multiple="true" id="mySelect" name="mySelect" showChoices="true"> <option selected="selected" value=1>opt 1</option> <option selected="selected" value=2>opt 2</option> <option value=3>opt 3</option> <option value=4>opt 4</option> </select>

gordon

다음 방법 중 하나를 얻을 수 있습니다

 $("#list").find('option').filter('[value=2]').text() $("#list").find('option[value=2]').text() $("#list").children('option[value=2]').text() $("#list option[value='2']").text() 

 $(function(){ console.log($("#list").find('option').filter('[value=2]').text()); console.log($("#list").find('option[value=2]').text()); console.log($("#list").children('option[value=2]').text()); console.log($("#list option[value='2']").text()); });
 <script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <select id='list'> <option value='1'>Option A</option> <option value='2'>Option B</option> <option value='3'>Option C</option> </select>


Anfath Hifans

노력하다

 [...list.options].find(o=> o.value=='2').text 

 let text = [...list.options].find(o=> o.value=='2').text; console.log(text);
 <select id='list'> <option value='1'>Option A</option> <option value='2'>Option B</option> <option value='3'>Option C</option> </select>


Kamil Kiełczewski

이 시도:

 jQuery("#list option[value='2']").text()

Zakaria Binsaifullah

출처 : http:www.stackoverflow.com/questions/196684/jquery-get-specific-option-tag-text

반응형