[jquery] 선택 요소에서 선택한 옵션 가져 오기

드롭 다운에서 선택한 옵션을 가져오고 다음과 같이 해당 텍스트로 다른 항목을 채우려 고합니다. IE가 폭풍을 일으키고 있으며 Firefox에서 작동하지 않습니다.

$('#ddlCodes').change(function() {
  $('#txtEntry2').text('#ddlCodes option:selected').text();
});

내가 뭘 잘못하고 있죠?



답변

다음은 짧은 버전입니다.

$('#ddlCodes').change(function() {
  $('#txtEntry2').text($(this).find(":selected").text());
});

karim79 는 잘 잡았습니다. 요소 이름으로 판단 txtEntry2하면 텍스트 상자가 될 수 있습니다. 어떤 종류의 입력이든 .val()대신 사용하거나 다음 .text()과 같이 사용해야 합니다.

  $('#txtEntry2').val($(this).find(":selected").text());

“무슨 일이야?” 질문의 일부 : .text()선택기를 사용하지 않거나 설정하려는 텍스트를 사용하거나 이미있는 텍스트를 반환하는 데 아무것도 사용하지 않습니다. 따라서 원하는 텍스트를 가져온 다음 .text(string)위와 같이 설정하려는 개체 의 메서드에 넣어야합니다 .


답변

이 시도:

$('#ddlCodes').change(function() {
  var option = this.options[this.selectedIndex];
  $('#txtEntry2').text($(option).text());
});


답변

다음은 작동해야하는 더 짧은 버전입니다.

 $('#ddlCodes').change(function() {
      $('#txtEntry2').text(this.val());
    });


답변

더 적은 jQuery 사용 :

<select name="ddlCodes"
 onchange="$('#txtEntry2').text(this.options[this.selectedIndex].value);">

this.options[this.selectedIndex].value 일반 JavaScript입니다.

(출처 : German SelfHTML )


답변

다음 코드를 시도하십시오

$('#ddlCodes').change(function() {
  $('#txtEntry2').val(  $('#ddlCodes :selected').text() );
});


답변

선택한 요소의 수를 알고 싶다면

$("select option:selected").length

선택한 모든 요소의 값을 얻으려면

    var str = "";
  $("select option:selected").each(function () {
        str += $(this).text() + " ";
      });


답변

이것은 나를 위해 일했습니다.

$("#SelectedCountryId_option_selected")[0].textContent