我正在创建一个像这样的选择:
<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吗?
答案 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);