2012-06-07 2 views
1

Я знаю, что можно получить значение выбранного элемента, как это:Как изменить значение выбранного в данный момент элемента в списке?

var myListBoxItemText = $('#myListBox').val().toString();

Но как изменить это значение в списке на что-то другое?

+2

Вы обычно не нуждаются в 'ToString() '. Насколько мне известно, нет элементов, возвращающих нестроковое значение. – pimvdb

+0

@pimvdb: Да, я просто не уверен, потому что у меня были некоторые неприятные ошибки из-за конфликтов типов и я никогда не знаю, какой тип возвращается из функции. –

ответ

3

Видя ваши обновления в комментариях, вот обновленный ответ. Просто используйте селектор :selected, чтобы отфильтровать параметры внутри вашего элемента select, чтобы получить выбранный параметр.

Чтобы изменить value свойство выбрал вариант это select элемента:

$('#myListBox option:selected').val('new value'); 

Чтобы изменить его отображения текста:

$('#myListBox option:selected').text('new text'); 

JSFiddle

+0

Yay, это то, что я хотел. Вторая линия работает хорошо. –

+0

Да, вы просили цену, но я думал, что вы имеете в виду текст, поэтому я включил и то, и другое. ;) –

2

$("#myListBox").val("This is the new value");

Хотя, по 'ListBox', я полагаю, вы имеете в виду select элемент. В этом случае вам нужно будет добавить свойство selected одному из дочерних элементов option.

+0

Хм .. Я пробовал, и это не помогло, и это заставило меня задать этот вопрос. Я попробую еще раз –

+0

Да, я имею в виду избранный элемент извините. –

1
$('#myListBox').val(your_val); 

Здесь your_val обозначает атрибут <option>

value Или вы можете также использовать

$('#myListBox')[0].selectedIndex = 1; 

или

$('#myListBox').prop('selectedIndex', 1); 

DEMO

DEMO 2

+0

вместо '[0]' вы можете использовать '.prop ('selectedIndex', 1)', если вам нужен объект jQuery, возвращенный для дальнейшей цепочки. –

+0

О, извините, я думаю, я был недостаточно ясен. Я не хочу менять индекс выбора. Я действительно хочу * изменить значение * в текущем выбранном элементе. Например, если выбранным элементом является «Яблоко», я хочу, чтобы код менял текст с «Яблока» на «Банана». –

+0

@RyanPeschel 'selectedIndex' также изменит значение, см. DEMO 2 – thecodeparadox

Смежные вопросы