2013-08-06 91 views
2

我有這個選擇,我加載了一堆國家。 用戶選擇一個後,他將轉到另一個頁面,在那裏他搜索信息。如果他選擇一個國家,他應該默認選擇該國家(在另一個選擇中,在另一個包含相同國家的頁面中)。我如何更改默認選項在選擇jquery

<div data-role="fieldcontain"> 
    <label for="selecionarPaisPreferencia" class="select">Pais</label> 
    <select name="selecionarPaisPreferencia" id="SlSelecionarPaisPreferencia"></select> 
</div> 

如何在加載頁面之前更改選擇中的默認選項。

順便說一句:我已經存儲了他在全局變量中選擇的國家的名稱。

我加載的選項dinamically,因爲我不使用數據庫這是一個練習。

for (i = 0; i < countrys.length; i++) { 
    $("#SLSelectPaisConsulta").append('<option data-pais="' + countrys[i] + '">' + countrys[i] + '</option>'); 
    $("#SlSelecionarPaisPreferencia").append('<option data-pais="' + countrys[i] + '">' + countrys[i] + '</option>'); 
} 
+1

這是 「國家」。當你的代碼被你的同事看到時,試圖爲你節省一些尷尬。 – isherwood

+0

你是對的,謝謝 – AlanRubinoff

回答

1
$('#selecionarPaisPreferencia').val('country_name_value_here'); 
0

這裏去另一種方式來做到這一點,如果你的價值在SelectedValue選擇:

$("#SlSelecionarPaisPreferencia").find('[value="'+SelectedValue+'"]').attr("selected", true); 

爲了完整起見,一定要注意重要的是直接使用val()應該更有效率,但val()不適用於多項選擇選項,而此方法可用於單選或多選選項。您只需要爲每個要選擇的值調用一次。

0

你可以嘗試:

$("#SlSelecionarPaisPreferencia").val(selectedPais); 

或者

$("#SlSelecionarPaisPreferencia") 
    .children(':contains('+selectedPais+')').prop('selected',true); 

或者:

$("#SlSelecionarPaisPreferencia > option:contains("+selectedPais+")").prop('selected',true); 
相關問題