2012-11-05 78 views
2

我创造一个选择是这样的:麻烦设置选择的选项/ .attr(“选择”,真)

<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

虽然'.attr()'应该工作,'.prop'将是 “正确” 的方式来更改选定** **财产。 '.prop( “选择”,TRUE);' –

回答

8

你缺少你的警报内部的选择#并能还你只是

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

代替

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

并设置值..只是再次使用.val像下面,

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

您可以使用.eq选择器当你需要选择一个选项而不知道它的价值。

假设你要选择第三个选项,然后

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