如何使用jQuery更改选择框的选定选项?

如何使用jQuery更改选择框的选定选项?,jquery,jquery-ui,Jquery,Jquery Ui,可能重复: 我有一个如下定义的选择框 <select @string.Format("id={0}", Model.FieldId) name="Id1" onclick="LoadIds('@string.Format("{0}", Model.FieldId)')"> <option @string.Format("value={0}", row.ID1) selected="selected">@row.ID1</option> </se

可能重复:

我有一个如下定义的选择框

<select @string.Format("id={0}", Model.FieldId) name="Id1" onclick="LoadIds('@string.Format("{0}", Model.FieldId)')">
    <option @string.Format("value={0}", row.ID1) selected="selected">@row.ID1</option>
</select>

@row.ID1
选择框的所有选项都加载到onclick事件中。当我启动页面时,它会在选择框中显示适当的值(如所选),并且选项也会从“LoadIds”功能中正确加载。现在,我想从下拉列表中选择一个不同的值,并将新值设置为选中。我想我需要实现onchange事件。我的问题是如何从旧选项中删除所选属性并将其添加到新的所选选项?

使用jQuery的
.val('valueHere')
对选择项进行选择将使下拉列表中的活动项变为传递的值(如果可用)

<select id="a">
        <option val="1">One</option>
        <option selected="selected" val="2">Two</option>
        <option val="3">Three</option>
</select>
selected
属性仍将出现在两个屏幕上,但不会被选中。您不需要删除该属性,它只是用于默认选择。如果您真的想看
.prop()

如注释和jQuery文档中所述,警告在选定的
上使用
.removeProp()

注意:不要使用此方法删除本机属性,如选中、禁用或选中。这将完全删除该属性,一旦删除,就不能再次添加到元素中。使用.prop()将这些属性改为false


“我想从下拉列表中选择不同的值”您的意思是用户选择不同的值吗?它将自动被选中,您不必更改属性。或者我遗漏了什么?是的,当用户从下拉列表中选择不同的值时,会出现新值,并立即更改回以前的旧值。我不确定它是否与应用于html表的jQuery datatable有关。我在html表中有一个选择框,通过在$(document).ready函数中应用.datatable()扩展名,将其显示为jquery datatable。谢谢。请创建一个演示,这似乎是一个相当奇怪的情况。只提到prop()应该是好的,因为如果他们在属性上使用.removeProp(),他们将不再使用该属性。。。从jQuery文档
中,这将完全删除属性,一旦删除,就不能再次添加到元素中。使用.prop()将这些属性设置为false。
Good catch,我没有意识到这个警告。
$('#a').val('1');​