如何在视图中设置组合框的选定字段

时间:2011-09-18 10:45:31

标签: javascript asp.net-mvc-3

我在组合框中有两个选项。

<select id="selLang">
    <option value="/en" >english</option>
    <option value="/fr" >french</option>
</select>

当我选择第二个选项时,页面会刷新,并且所选选项不会显示在组合框的顶部(我的意思是,作为所选项目。) 我想将所选选项设置为视图中位于组合框顶部的选定选项。 所以我的问题是我怎么能这样做?或者我可能要创建一个cookie?如果是这样的话 - 我怎么做t-h-a-t?

也许这是一个愚蠢的问题,但我在这个地区很新。

提前致谢!

3 个答案:

答案 0 :(得分:0)

您需要设置该选项的selected属性。你可以这样做:

<select id="selLang">
    <option value="en" >english</option>
    <option value="fr" selected="selected" >french</option>
</select>

希望这是你想要的......

请参阅this

答案 1 :(得分:0)

我建议你看一下ASP.NET MVC localization guide,它会为你提供一些关于如何实现它的好主意。

答案 2 :(得分:0)

首先,为什么当您选择第二个选项时,页面会刷新。您是否有任何JavaScript功能可以发布您的表单。

我问这个,因为HTML <select>标记的更改不会启动HTTP Post请求。所以,请更新一下解释。

但是,让我们回到你的问题。你可以试试这个:

<select id='selLang' name='selLang'>
    <option value="/en" >english</option>
    <option value="/fr" >french</option>
</select>

这会导致<select>标记在POST请求期间变为successful control。这意味着您可以使用它来创建如下脚本:

$(function(){
    $('#selLang').val('@HttpContext.Request["selLang"]');
});