簡體   English   中英

當用戶為DropDownList選擇一個值時強制提交,除非該值是Custom

[英]Force submit when user selects a value for DropDownList unless the value is Custom

我希望一旦用戶為DropDownList選擇一個值(只要它不是“自定義”)就強制提交。 如果是“自定義”,則我不希望提交表單。 相反,我想顯示開始日期和結束日期。 但是,除非選擇了“自定義”,否則我不希望顯示StartingDate或EndingDate。 我認為這必須使用jQuery或JavaScript來完成。 誰能告訴我如何實現這一目標?

這是我在控制器中用於傳遞開始日期,結束日期和下拉列表到視圖的代碼:

List<SelectListItem> rangeList = new List<SelectListItem>();
rangeList.Add(new SelectListItem { Text = "Today", Value = "Today" });
rangeList.Add(new SelectListItem { Text = "Yesterday", Value = "Yesterday" });
rangeList.Add(new SelectListItem { Text = "Past 7 Days", Value = "Past 7 Days" });
rangeList.Add(new SelectListItem { Text = "Past 30 Days", Value = "Past 30 Days" });
rangeList.Add(new SelectListItem { Text = "Last Month", Value = "Last Month" });
rangeList.Add(new SelectListItem { Text = "Custom", Value = "Custom" });

ViewBag.rangeList = rangeList;
ViewBag.startingDate = startingDate;
ViewBag.endingDate = endingDate;
ViewBag.specifiedRange = specifiedRange;

編輯

我修改了代碼,以嘗試添加腳本。 下面是我現在在視圖中擁有的代碼。 它什么也沒做。

<script type="text/javascript">
    $("#range").change(function () 
    {
        if ($(this).val() == "Custom") 
        {
            $("p.down").toggle();
        }
        else 
        {
            $("form").submit();
        }
    });
</script>

@using (Html.BeginForm())
{
    <p>
        @Html.DropDownList("specifiedRange", new SelectList(
                    ViewBag.rangeList as System.Collections.IEnumerable, 
                    "Text", 
                    "Value", 
                    new { @Id = "range" }))
    </p>
    <p class = "down">
        Starting Date: @(Html.Telerik().DateTimePicker().Name("startingDate")) 
        Ending Date: @(Html.Telerik().DateTimePicker().Name("endingDate"))
        <input type="submit" value="GO" />
    </p>
}

是的,它需要使用jquery完成。

$(document).ready(function(){
    $("#idofyourdropdown").change(function(){
       if($(this).val() == "Custom")
       {
        $("p.down").toggle();
       }
        else{
       $("form").submit();
    }

    });
});

然后將“ down”分類為要顯示的<p>

這是你想要的?

$('#specifiedRange').change(function() {
    if($(this).val() !== 'Custom') $(this).closest('form').submit();
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM