0

当用户选择日期时,如何使用这段 jquery 代码从 datePicker 中获取日期,然后使用 BeginForm() 将日期作为字符串发送到控制器?如何访问标签之间的代码以用于我的 razor 和 asp.net 代码?

这是我从论坛上的一些提示中尝试过的,但没有运气。

<script type="text/javascript">

    $(function () {
        onSelect: Function(dateText, inst); 
        {
            var theDate = $("#date").datepicker('getDate');
            var dateAsObject = $(this).datepicker('getDate');
        }

     String selectedDate"";
    selectedDate=theDate.toString();


         });

因此,在提出建议之后,我一直在尝试这样做:

    <script type="text/javascript">
        $(function () {      
                $(".datepicker").datepicker({dateFormat: 'yy.mm.dd'})
        });  
        </script>

@using (Html.BeginForm("Action", "Controller",  new { @id = "formName", @Name = "formName" }))
{
 Date: <input type="text" class="datepicker" onchange="$('#formName').submit();"
 }

然后在控制器中:

public ActionResult myMethod(DateTime?  date=null)
{
if if (date != null)
            { 
            //do 
            }
}

在控制器中,日期始终为空。我把我的 GeginForm 命名错了吗?

4

2 回答 2

0

你有过于复杂的事情。只需您可以将 onchange 事件用于输入,当日期选择器进行更改时,它将触发该操作。

控制器:

          // You can use "String?" type here
public ActionResult Index(DateTime? date = null)
{
    if (date != null)
    {
        // Your Logic Here!
    }
}

看法:

<script type="text/javascript">
    $(function() {
        $( ".datepicker" ).datepicker({ dateFormat: 'yy.mm.dd' });
    });
</script>
<input type="text" class="datepicker" onchange="$('#YourForm').submit();" />

每当用户选择日期时,我也使用它来显示该日期的数据。简单快速..

于 2012-11-16T07:32:59.723 回答
0

altField每当使用和选项选择日期时,您都可以使用自己的日期格式填充备用字段altFormat。此功能可用于显示对用户友好的日期以供用户选择,同时传递对计算机更友好的日期以供进一步处理。

代码:

<!doctype html>

<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>jQuery UI Datepicker - Populate alternate field</title>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />
    <script src="http://code.jquery.com/jquery-1.8.2.js"></script>
    <script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
    <link rel="stylesheet" href="/resources/demos/style.css" />
    <script>
    $(function() {
        $( "#datepicker" ).datepicker({
            altField: "#alternate",
            altFormat: "DD, d MM, yy"
        });
    });
    </script>
</head>
<body>

<p>Date: <input type="text" id="datepicker" />&nbsp;<input type="text" id="alternate" size="30" /></p>


</body>
</html>

希望这可以帮助!

于 2012-11-16T07:13:43.677 回答