изменение текста опции окна выбора в jQuery - PullRequest
3 голосов
/ 04 октября 2011

С учетом следующего HTML:

<select id="addSelection">

<option value="Original Value">Original Value</option>

</select>

Я хотел бы изменить текстовое значение тега параметра при нажатии на кнопку.

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

Итак, например ... Я хотел бы, чтобы тег параметра был изменен на следующее:

<option value="New Value">New Value</option>

IПробовал использовать варианты функции .val(), но не нашел решения.

Спасибо всем, кто ответил!

Ответы [ 7 ]

10 голосов
/ 05 октября 2011

Следующее упрощенное решение ...

<html>
<head>
    <script type="text/javascript" src="jquery-1.5.2.min.js"></script>
    <script type="text/javascript" >
    function domread() {
        $('#btn').click(function(){
            $('#originalValue').attr('value', 'New Value').html('New Value');
        });
    }
    </script>
</head>
<body onload="domread()">
<select id="addSelection">
  <option id="originalValue" value="Original Value">Original Value</option>
  <option value="Two Value">Value two</option>
  <option value="Three Value">Value three</option>
</select>
<br/>
<input id="btn" type="button" value="Changes"></input>
</body>
</hmtl>
7 голосов
/ 04 октября 2011

Относитесь к этой опции как к любому другому фрагменту HTML.$option.attr('value') даст вам содержимое атрибута value, а $option.text() или $option.html() - содержимое между открывающим и закрывающим тегами.

$('#mybutton').click(function(){
    var $option = $('#addSelect option:content("Original Value")');
    $option.attr('value', 'New Value');
    $option.text('New Value');
});
5 голосов
/ 04 октября 2011

Учитывая следующий файл. HTML:

<html>
<head>
    <script type="text/javascript" src="jquery-1.5.2.min.js"></script>
</head>
<body>
<select id="addSelection">
  <option value="Original Value">Original Value</option>
  <option value="Original Value">Value two</option>
</select>
<br/>
<input id="btn" type="button" value="Changes"></input>
</body>
</hmtl>

Следующий код javascript с jquery для решения проблемы:

$('#btn').click(function(){
    var $option = $('#addSelection option:contains("Original Value")');
    $option.attr('value', 'New Value');
    $option.html('New Value');
});
1 голос
/ 04 октября 2011

Вы были на правильном пути с .val()

var option = $("#addSelection option");
option.val('New Value');
option.html('New Value');
0 голосов
/ 04 августа 2017

Используйте это, чтобы просто обновить выделенный текст

$('#dropdown option:selected').text('whatever');

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

$('#dropdown option:selected').val('whatever');
0 голосов
/ 04 октября 2011

Чтобы изменить параметр выбора:

$("#addSelection").find(":selected").text("foo");

$("#addSelection").find(":selected").attr("value", "foo");

$("#addSelection").find(":selected").html("foo");

Чтобы изменить конкретный параметр (необязательно выбранный параметр):

$("#addSelection option[value='Original Value']").text("foo");

$("#addSelection option[value='Original Value']").html("foo");
0 голосов
/ 04 октября 2011
$("option[value='New Value']").html("Another value");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...