jQuery를 사용하여 드롭 다운 목록 (선택 상자)에서 선택한 텍스트 가져 오기


2302

jQuery 의 드롭 다운 목록 에서 선택한 텍스트 (선택한 값이 아닌)를 어떻게 얻을 수 있습니까?


12
내 두 센트 : "ASP"드롭 다운은 특별하지 않습니다. 그냥 오래된 HTML입니다. :-)
ankush981 2016 년

: 하나는이 문서를 참조 할 수 있습니다 javascriptstutorial.com/blog/...
딜립 쿠마르 야다 브

바닐라 자바 스크립트의 방법을 참조 stackoverflow.com/a/5947/32453
rogerdpack

그냥 $ (this) .prop ( 'selected', true); .att를 .prop로 교체했습니다. 모든 브라우저에서 작동했습니다
Shahid Hussain Abbasi

답변:


3773
$("#yourdropdownid option:selected").text();

207
$("#yourdropdownid").children("option").filter(":selected").text()객체가 선택기와 일치하는지 여부의 is () 부울을 반환하기 때문에 이것이 있어야한다고 생각합니다 .
MHollis

42
is ()에 대한 주석은 부울을 반환합니다. 또는 다음과 같은 작은 변경을 사용하십시오. $ ( '# yourdropdownid'). children ( "option : selected"). text ();
scubbo

25
DT3 테스트 @ is("selected").text()반환에게TypeError: Object false has no method 'text'
ianace

96
$('select').children(':selected')가장 빠른 방법입니다 : jsperf.com/get-selected-option-text
Simon

3
$ ( "# IdSelect"). children ( "option : selected"). text ()
JD-DC TECH

266

이 시도:

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

ASP.NET 드롭 다운의 경우 다음 선택기를 사용할 수 있습니다.

$("[id*='MyDropDownId'] :selected")

여기 ASP.NET 버전은 나를 위해 asp.net과 작동하는 유일한 Jquery입니다. ( '$ ( "# yourdropdownid 옵션 : selected"). text ();' 는 마스터 페이지를 사용하는 asp.net 페이지에서 작동하지 않았습니다.
netfed

5
asp.net 마스터 페이지가 선택기 앞에 임의의 문자를 던지기 때문에 작동하지 않습니다. 그것은 기술적으로 같은 뭔가를 찾고("#ct0001yourdropdownid)
CSharper


1
@CSharper-ASP.NET에서 임의의 문자를 던지는 것은 다소 오해의 소지가 있다고 생각 합니다. 그것들은 전혀 무작위 적이 지 않으며 구조적이며 엄격한 규칙을 따릅니다 (당신이 ID당신의 통제를 했는지 여부 에 따라, 그리고 그렇지 않으면 트리의 현재 레벨에서 발생하는 지점의 색인 등을 기반으로합니다) )
자유 낙하

안녕하세요 테이블 행 / 셀 내 에서이 작업을 수행하는 방법, 특히 ASP MVC 5
변환기

215

예를 들어 여기에 게시 된 답변

$('#yourdropdownid option:selected').text();

나를 위해 작동하지 않았지만 이것은 효과가있었습니다.

$('#yourdropdownid').find('option:selected').text();

이전 버전의 jQuery 일 수 있습니다.


7
이 답변을 싫어하지 마십시오. "find"키워드를 사용하면 속임수가되었습니다. 나는 완전히 다른 맥락에서왔다.
ROFLwTIME

5
선택 부분과 함 께 옵션 부분이 전혀 필요하지 않습니다. 단순히 $ ( '# yourdropdownid : selected'). text (); 잘 작동 할 것입니다
Dss

jquery-1.10.2.min, 이것은 다른 사람이 아니라 나를 위해 일했습니다.
kubilay 2012

이 나를 위해 최선의 대답은 그래서 인기 응답 작품은,하지만, 선택에 이미 얻은 참조에 필요
그레이엄


67

이것은 나를 위해 작동

$("#dropdownid").change(function() {
    alert($(this).find("option:selected").text());
});

요소가 동적으로 생성 된 경우

$(document).on("change", "#dropdownid", function() {
    alert($(this).find("option:selected").text());
});


55

$("#DropDownID").val() 선택한 인덱스 값을 제공합니다.


37
질문에 대한 정확한 대답은 아니지만 나에게 유용했습니다. 질문에 선택한 텍스트가 필요합니다.
피터

54

이것은 나를 위해 작동합니다 :

$('#yourdropdownid').find('option:selected').text();

jQuery 버전 : 1.9.1


3
change이벤트에서 $(this).find('option:selected').text()텍스트를 얻는 데 사용할 수 있기 때문에 이것은 나를 위해 일했습니다 .
Timo002

$(this).children(':selected').text()작동합니다. @ Timo002
Mr. Mak

42

선택한 항목의 텍스트에 다음을 사용하십시오.

$('select[name="thegivenname"] option:selected').text();

선택한 항목의 값으로 다음을 사용하십시오.

$('select[name="thegivenname"] option:selected').val();

33

다양한 방법

1. $("#myselect option:selected").text();

2. $("#myselect :selected").text();

3. $("#myselect").children(":selected").text();

4. $("#myselect").find(":selected").text();

31
$("#dropdownID").change(function(){
  alert($('option:selected', $(this)).text());
});

이것은 $(this) 내가 아약스 호출 후 기대했던 것입니다
Shantaram Tupe

JQuery 객체로 래핑하지 않고 $ ( "option : selected", this) .text () 할 수도 있습니다.
Doug F

28

이것을 사용하십시오

const select = document.getElementById("yourSelectId");

const selectedIndex = select.selectedIndex;
const selectedValue = select.value;
const selectedText = select.options[selectedIndex].text;   

그런 다음 선택한 값과 텍스트 내부의 취득 selectedValueselectedText.


1
이것이 jQuery를 사용하지 않는 유일한 대답이기 때문에 공감되었습니다.
저스틴 레 사드

나는 바닐라 js와 사랑에 빠졌습니다. 고마워.
Enrique Bermúdez

27
var someName = "Test";

$("#<%= ddltest.ClientID %>").each(function () {
    $('option', this).each(function () {
        if ($(this).text().toLowerCase() == someName) {
            $(this).attr('selected', 'selected')
        };
    });
});

올바른 방향을 찾는 데 도움이됩니다. 위의 코드는 추가 도움이 필요하면 완전히 테스트되었습니다.


19

사용하는 사람들을 위해 셰어 포인트 목록과 긴 생성 된 ID를 사용하지 않으려는,이 작동합니다 :

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

17
 $("#selectID option:selected").text();

대신 클래스 사용 #selectID과 같은 모든 jQuery 선택기를 사용할 수 있습니다 .selectClass.

여기 문서에 언급 된대로 .

: selected 선택기는 <option> 요소에서 작동합니다. 확인란 또는 라디오 입력에는 작동하지 않습니다. :checked그들을 위해 사용하십시오 .

.text () 여기 문서 에 따라 .

하위 요소를 포함하여 일치하는 요소 세트에서 각 요소의 결합 된 텍스트 컨텐츠를 가져옵니다.

따라서 .text()메소드를 사용하여 HTML 요소에서 텍스트를 가져올 수 있습니다 .

자세한 설명은 설명서를 참조하십시오.



13

선택된 가치 사용을 위해

$('#dropDownId').val();

선택한 항목 텍스트를 얻으려면 다음 줄을 사용하십시오.

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


11

jQuery에서 드롭 다운 / 선택 변경 이벤트에서 텍스트 및 선택한 값 선택

$("#yourdropdownid").change(function() {
    console.log($("option:selected", this).text()); //text
    console.log($(this).val()); //value
})

10

다음 코드를 시도하십시오.

var text= $('#yourslectbox').find(":selected").text();

선택한 옵션의 텍스트를 반환합니다.




8

다음은 나를 위해 일했습니다.

$.trim($('#dropdownId option:selected').html())

1
참고 : 다중 선택에는 사용하지 마십시오. 처음 선택한 값만 가져옵니다.
최대


7

형제의 경우

<a class="uibutton confirm addClient" href="javascript:void(0);">ADD Client</a>
<input type="text" placeholder="Enter client name" style="margin: 5px;float: right" class="clientsearch large" />
<select class="mychzn-select clientList">
  <option value="">Select Client name....</option>
  <option value="1">abc</option>
</select>


 /*jQuery*/
 $(this).siblings('select').children(':selected').text()

7

$(function () {
  alert('.val() = ' + $('#selectnumber').val() + '  AND  html() = ' + $('#selectnumber option:selected').html() + '  AND .text() = ' + $('#selectnumber option:selected').text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
    <title></title>

  </head>
  <body>
    <form id="form1" runat="server">
      <div>
        <select id="selectnumber">
          <option value="1">one</option>
          <option value="2">two</option>
          <option value="3">three</option>
          <option value="4">four</option>
        </select>

      </div>
    </form>
  </body>
</html>

출력 화면을 보려면 클릭


안녕하세요 어떻게 당신이해야합니까 테이블 행 / 셀 내부에 , 당신은 어떻게 알 수 있습니까 테이블에서 드롭 다운은 무엇입니까? 내가 가져 아약스 호출을 만들려고 노력하고 있고 채우기 값은 한 페이지에 외부에서 작업을 수행 할 수 있지만 표 행 내부에 ... 당신이 좀 도와주십시오 추가 할 수 있습니다
변압기


4

결과를 목록으로 표시하려면 다음을 사용하십시오.

x=[];
$("#list_id").children(':selected').each(function(){x.push($(this).text());})

2
$("#dropdown").find(":selected").text();


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

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

$("#dropdown").children(":selected").text();

그것이 왜 효과가 있었는지 설명
해주세요

2

이 코드는 나를 위해 일했습니다.

$("#yourdropdownid").children("option").filter(":selected").text();
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.