2013-08-06 54 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); 
相关问题