2012-06-07 57 views
1

我知道一个可以获取当前选定项的值是这样的:如何更改列表框中当前选定项目的值?

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

但你如何在列表框中将此值更改为别的东西吗?

+2

您通常不需要'的toString ()'。就我而言,没有任何元素返回非字符串值。 – pimvdb

+0

@ pimvdb:是的,我只是不确定,因为我有一些讨厌的错误,由于冲突的类型,我不知道函数返回什么类型。 –

回答

3

看到你更新的意见,这里是一个更新的答案。只需使用:selected选择器来筛选select元素内部的选项即可获取选定的选项。

要更改select元素选定的选项的value属性:

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

以改变其显示的文字:

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

JSFiddle

+0

Yay这就是我想要的。第二条线运作良好。 –

+0

是的,你问价值,但我认为你的意思是文字,所以我都包括了。 ;) –

2

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

虽然,通过 '列表框',我认为你说的是​​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

哦,我很抱歉,我猜我不够清楚。我不想改变选择指数。我实际上想要*改变当前选择的项目中的值*。就像,如果当前选择的项目是'Apple',我希望代码将文本从'Apple'更改为'Banana'。 –

+0

@RyanPeschel'selectedIndex'也将更改值,请参阅DEMO 2 – thecodeparadox

相关问题