正如问题所说,我如何使用jQuery设置下拉列表控件的值?


当前回答

设置下拉选择的值并更新更改

$("#PR2DistrictId option[value='@Model.PR2DistrictId']").attr("selected", true).trigger("chosen:updated")

这里我们首先从Model中设置值,然后在选中时更新它

其他回答

//Html下拉列表的格式。

<select id="MyDropDownList">
<option value=test1 selected>test1</option>
<option value=test2>test2</option>
<option value=test3>test3</option>
<option value=test4>test4</option>

//如果你想使用javascript将选中的Item更改为test2。试试这个。 //设置你想要选择的下一个选项

var NewOprionValue = "Test2"

        var RemoveSelected = $("#MyDropDownList")[0].innerHTML.replace('selected', '');
        var ChangeSelected = RemoveSelected.replace(NewOption, NewOption + 'selected>');
        $('#MyDropDownList').html(ChangeSelected);

试试这个非常简单的方法:

/*make sure that value is included in the options value of the dropdownlist 
e.g. 
(<select><option value='CA'>California</option><option value='AK'>Alaska</option>      </select>)
*/

$('#mycontrolId').val(myvalue).attr("selected", "selected");

如果你使用索引,你可以直接用.attr()设置所选索引:

$("#mydropdownlist").attr('selectedIndex', 0);

这将把它设置为下拉列表中的第一个值。

编辑: 我上面的方法过去很管用。但现在似乎不再是了。

但正如韩寒在评论中愉快地指出的那样,正确的做法是:

$("#mydropdownlist").get(0).selectedIndex = index_here;

设置下拉选择的值并更新更改

$("#PR2DistrictId option[value='@Model.PR2DistrictId']").attr("selected", true).trigger("chosen:updated")

这里我们首先从Model中设置值,然后在选中时更新它

正如@Nick Berardi所建议的,如果你更改的值没有反映在UI前端,尝试:

$("#mydropdownlist").val("thevalue").change();