Получить выбранную опцию из выбранного элемента

Я пытаюсь получить выбранную опцию из раскрывающегося списка и заполнить другой элемент этим текстом следующим образом. IE лает шторм, и он не работает в Firefox:

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

Что я делаю неправильно?

Ответ 1

Здесь короткая версия:

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

karim79 сделал хороший улов, судя по имени вашего элемента txtEntry2, может быть текстовое поле, если это какой-либо вход, вам нужно будет используйте .val() вместо или .text() следующим образом:

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

За "что не так?" часть вопроса: .text() не принимает селектор, он принимает текст, который вы хотите установить, или ничего не возвращает текст уже там. Таким образом, вам нужно извлечь нужный текст, а затем поместить его в метод .text(string) объекта, который вы хотите установить, например, у меня выше.

Ответ 2

Попробуйте следующее:

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

Ответ 3

Ниже приведена более короткая версия, которая также должна работать:

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

Ответ 4

С меньшим значением jQuery:

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

this.options[this.selectedIndex].value - это простой JavaScript.

(Источник: Немецкий SelfHTML)

Ответ 5

Попробуйте выполнить следующий код

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

Ответ 6

Чтобы узнать количество выбранных элементов, используйте

$("select option:selected").length

Чтобы получить значение для всех выбранных элементов, используйте

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

Ответ 7

Это сработало для меня:

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

Ответ 8

Первая часть - получить элемент из выпадающего меню, которое может выглядеть так:

<select id="cycles_list">
    <option value="10">10</option>
    <option value="100">100</option>
    <option value="1000">1000</option>
    <option value="10000">10000</option>
</select>

Для захвата через jQuery вы можете сделать что-то вроде этого:

$('#cycles_list').change(function() {
    var mylist = document.getElementById("cycles_list");
    iterations = mylist.options[mylist.selectedIndex].text;
});

Как только вы сохранили значение в своей переменной, следующим шагом будет отправка информации, хранящейся в переменной, в поле формы или элемент HTML по вашему выбору. Это может быть div p или пользовательский элемент.

то есть. <p></p> OR <div></div>

Вы бы использовали:

$( 'р') HTML (итераций). OR $('div'). Html (итерации);

Если вы хотите заполнить текстовое поле, например:

<input type="text" name="textform" id="textform"></input>

Вы бы использовали:

$('# textform'). text = iterations;

Конечно, вы можете сделать все вышеизложенное в меньших шагах, я просто считаю, что это помогает людям учиться, когда вы разбиваете все на простые, чтобы понять шаги... Надеюсь, это поможет!

Ответ 9

Используя свойство selectedOptions (HTML5), вы можете получить выбранные опции

document.getElementbyId("id").selectedOptions; 

С помощью JQuery можно добиться этого

$("#id")[0].selectedOptions; 

или

$("#id").prop("selectedOptions");

Свойство содержит массив HTMLCollection, подобный этому один выбранный вариант

[<option value=​"1">​ABC</option>]

или несколько выборов

[<option value=​"1">​ABC</option>, <option value=​"2">​DEF</option> ...]

Ответ 10

Выше было бы очень хорошо работать, но, похоже, вы пропустили приведение типа jQuery для раскрывающегося текста. Помимо этого было бы целесообразно использовать .val() для установки текста для элемента ввода текста. С этими изменениями код будет выглядеть следующим образом:

    $('#txtEntry2').val($('#ddlCodes option:selected').text());

Ответ 11

если у вас есть это уже и использовать jquery, это будет ваш ответ:

$($ (это) [0].selectedOptions [0]). Текст()

Ответ 12

С учетом этого HTML:

<select>
    <option value="0">One</option>
    <option value="1">Two</option>
</select>

Выберите по описанию для jQuery v1.6 +:

var text1 = 'Two';
$("select option").filter(function() {
    //may want to use $.trim in here
    return $(this).text() == text1; 
}).prop('selected', true);