选择并提交值后,如何清除下拉列表

时间:2012-04-16 03:02:10

标签: c# asp.net asp.net-mvc-3

大家好,我在视图中有以下代码:

@model Test.tblReview

@{
    ViewBag.Title = "Create";
}

<div class = "under">
Add a New Review
</div>

<br />

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" type="text/css" media="all" />
<link rel="stylesheet" href="http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css" type="text/css" media="all" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
<script src="http://jquery-ui.googlecode.com/svn/tags/latest/external/jquery.bgiframe-2.1.2.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/i18n/jquery-ui-i18n.min.js" type="text/javascript"></script>
<link href="../../Content/themes/base/jquery.ui.slider.css" rel="stylesheet" type="text/css" />

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)


        <div class="editor-label">
            @Html.HiddenFor(model => model.ReviewID)
        </div>

        <div class="editor-field">
            @Html.HiddenFor(model => model.ReviewID)
            @Html.HiddenFor(model => model.ReviewID)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Recomendation)
        </div>


        <div class="editor-field">
            @Html.TextAreaFor(model => model.Recomendation, new { style = "max-width: 200px; max-height: 150px;" })
            @Html.ValidationMessageFor(model => model.Recomendation)
        </div>

    <br />


        <div class="editor-label">
            @Html.LabelFor(model => model.AvoidOrBuy)
        </div>



        <div class="editor-field">
            @Html.TextAreaFor(model => model.AvoidOrBuy, new { style = "max-width: 200px; max-height: 150px;" })
            @Html.ValidationMessageFor(model => model.AvoidOrBuy)
        </div>

        <br />

         <div class="editor-label">
          @*@Html.LabelFor(model => model.Posted)*@
        </div>

        <div class="editor-field">
            @Html.HiddenFor(m => m.Posted)
            @Html.ValidationMessageFor(model => model.Posted)
        </div>

        <br />

          <div class="editor-label">
            @Html.LabelFor(model => model.Score)
        </div>

     <br />

        <div class="demo" style="width: 185px">
        <div id="slider-range-max"></div>
        </div>

    <br />

       <p>Score Added From Scroll Bar</p>

        <div class="editor-field">
            @Html.EditorFor(model => model.Score)
            @Html.ValidationMessageFor(model => model.Score)
        </div>

     <br />
        <div class="editor-label">
            @Html.LabelFor(model => model.GameIDFK, "tblGame")
        </div>



        <div class="editor-field">
            @Html.DropDownList("GameIDFK", String.Empty)
            @Html.ValidationMessageFor(model => model.GameIDFK)
        </div>

        <div class="editor-label">
            @Html.HiddenFor(model => model.UserName)
        </div>

        <div class="editor-field">
            @Html.HiddenFor(model => model.UserName)
            @Html.HiddenFor(model => model.UserName)
        </div>

     <br />

        <p>
            <input type="submit" value="Create" />
        </p>

}

<div>
    @Html.ActionLink("Go To Reviews", "Index") |  @Html.ActionLink("Go Back To Games", "Index", "Game")
</div>

 <script type="text/javascript">
     $(function () {
         $("#slider-range-max").slider({
             range: "max",
             min: 1,
             max: 10,
             value: 1,
             slide: function (event, ui) {
                 $("#Score").val(ui.value);
             }
         });
         $("#Score").val($("#slider-range-max").slider("value"));
     });
    </script>

一切正常但我希望在下拉菜单中选中并按下提交按钮后清除值,如果您需要其他信息,请问我谢谢

1 个答案:

答案 0 :(得分:1)

  

下拉列表中的值,一旦被选中就清除   按下提交按钮

为什么你需要这样做?我坚信如果你要将它提交给一个动作方法你不打算进行进一步处理,你就不应该改变它。因为你不会在那里得到选定的价值。如果您不担心所选的值,那么您可以通过jQuery清除它

$(function(){
 $("form").submit(function(){
   $("#GameIDFK").empty();
   return true;
 });
});

我想到的另一件事是,如果你真的想要清除下拉菜单,但仍然在你的action方法中使用,你可能需要在表单中有一个隐藏的输入元素并使用java脚本,你可以设置选定的值下拉到该值。然后在你可以清除你的下拉菜单然后在你的动作方法中,你可以从隐藏的输入而不是实际的下拉菜单中读取。