jQuery - 更改下拉列表索引也会更改值

时间:2015-04-13 12:58:33

标签: c# jquery asp.net-mvc razor

将MVC 4与Razor引擎一起使用,我正在创建一个下拉列表:

@Html.DropDownListFor(model => model.Genders.GenderId, new SelectList(
    new List<Object> { 
        new { value = 0 , text = "Male"  },
        new { value = 1 , text = "Female" }
    },
    "value",
    "text",
    2), 
    new { id = "ddlGender" })

当我点击一个按钮时,我正在使用Json请求获取一些信息,并且我将下拉列表的值设置为:

if (response.gender == "Male") {
    $("#ddlGender").attr('selectedIndex', 0);
}
else {
    $("#ddlGender").attr('selectedIndex', 1);
}

但是,当我获得女性价值时,我的下拉列表会显示2个女性值而不是男性和女性价值。

我做错了吗?

1 个答案:

答案 0 :(得分:2)

这不起作用,因为select标签没有任何名为selectedIndex的属性。

您的代码应为:

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

或试试这个

$("#ddlGender").val("yourvalue");

确保options标签中的值与“yourvalue”相同。