0

「カスタム」でない限り、ユーザーがDropDownListの値を選択したら、強制的に送信することを検討しています。「カスタム」の場合、フォームを送信したくありません。代わりに、startingDateとendingDateを表示したいと思います。ただし、[カスタム]が選択されていない限り、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>
}
4

2 に答える 2

1

はい、jquery.Something で行う必要があります。

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

    });
});

<p>そして、あなたが見せたいあなたへのクラス「ダウン」 。

于 2012-04-13T20:05:28.933 に答える
0

これはあなたが探しているものですか?

$('#specifiedRange').change(function() {
    if($(this).val() !== 'Custom') $(this).closest('form').submit();
})
于 2012-04-13T20:04:24.627 に答える