2012-11-05 79 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);