设置所选选项/ .attr(“选中”,真)的故障

时间:2012-11-05 19:58:53

标签: jquery knockout.js

我正在创建一个像这样的选择:

<select id="teamNameLabel" data-corners="false" onchange="GetSelectedTeam()" data-bind="options: teams, optionsText: 'name', optionsValue: 'id'">
    <option value="1">Select a Team...</option>
</select>

我的应用程序是一个页面,因此当选择一个选项时,它将被分配给TeamId,如下所示:

TeamId = $('#teamNameLabel').val();

我希望所选的选项是导航回此页面时最后选择的选项。我在页面加载时对此进行了测试,但警报仍然以undefined的形式返回。

$("#teamNamelabel option").eq(TeamId+1).attr("selected","selected");
alert($("teamNameLabel option:selected").val());

无论如何我可以将selectedOption或.attr(已选择)设置为TeamId吗?

1 个答案:

答案 0 :(得分:8)

您在警报内的该选择器中缺少#,您也可以

alert($("#teamNameLabel").val());

而不是

alert($("#teamNameLabel option:selected").val());

要设置值..只需再次使用.val,如下所示,

$("#teamNameLabel").val(TeamId);

如果您需要在不知道其值的情况下选择选项,则可以使用.eq选择器。

假设您要选择第3个选项,然后

//             3rd option = 2 because .eq takes index
$("#teamNamelabel option").eq(2).prop("selected", true);