선택 요소에서 선택한 옵션 가져 오기 항목을 채우려 고합니다. IE가 폭풍을 일으키고

드롭 다운에서 선택한 옵션을 가져오고 다음과 같이 해당 텍스트로 다른 항목을 채우려 고합니다. 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