Javascript asp.net时间报告,报告多个日期

Javascript asp.net时间报告,报告多个日期,javascript,c#,asp.net,asp.net-mvc-5.2,Javascript,C#,Asp.net,Asp.net Mvc 5.2,我正在开发一个时间报告系统。我只是想更好地了解asp.NETMVC5、html和javascript。现在我有了它的设置,所以我可以报告一个日期,比如2015-08-11。 但现在我希望该选项有一个复选框,这样当我可以勾选多个日期时,它会报告所有这些日期的时间 但我不确定我应该如何开始,所以建议将不胜感激 正如你在下面的代码中看到的,我已经为每个日期添加了勾选框,但是现在我不确定我应该做什么 这就是我做这一切的观点: <script type="text/javascript" langu

我正在开发一个时间报告系统。我只是想更好地了解asp.NETMVC5、html和javascript。现在我有了它的设置,所以我可以报告一个日期,比如2015-08-11。 但现在我希望该选项有一个复选框,这样当我可以勾选多个日期时,它会报告所有这些日期的时间

但我不确定我应该如何开始,所以建议将不胜感激

正如你在下面的代码中看到的,我已经为每个日期添加了勾选框,但是现在我不确定我应该做什么

这就是我做这一切的观点:

<script type="text/javascript" language="javascript">
    $(function() {
        $(function() {
            $('#date').datepicker({
                showButtonPanel: true,
                changeMonth: true,
                changeYear: true,
                dateFormat: "yy-mm-dd",
                firstDay: 1,
                onSelect: function(dateText) {
                    $('#EndDate').datepicker('option', 'minDate', new Date(dateText));
                }
            });
        });
    });

    function SetDate(dt) {
        $('#date').val(dt);
    }

    var n = @(Model.Projects.Count);;

    function AddProject() {
        n++;
        $.ajax({
            type: "GET",
            url: "@Url.Action("Project")/" + n,
            dataType: "html",
            success: function(data) {
                $('#projects').append(data);

            }
        });
    }

    $(function() {
        $('#startTime').change(function() { CalculateTime(); });
        $('#endTime').change(function() { CalculateTime(); });
        $('#breakTime').change(function() { CalculateTime(); });
        CalculateTime();
    });


    function CalculateTime() {
        try {
            var startTime = $('#startTime').val();
            var endTime = $('#endTime').val();
            var breakTime = $('#breakTime').val();

            var startDate = new Date(2000, 1, 1, startTime.substring(0, 2), startTime.substring(3, 5), 0, 0);
            var endDate = new Date(2000, 1, 1, endTime.substring(0, 2), endTime.substring(3, 5), 0, 0);

            var time = endDate - startDate;

            time = time / 1000 / 60 / 60;
            time = time - breakTime.substring(0, 2);
            time = time - (breakTime.substring(3, 5) / 60);
            $('#workedHours').html(time + " timmar");
        } catch (err) {
            $('#workedHours').html("---");
        }
    }
</script>
<div class="page-container">
    <div class="page-content">
        <div class="container">
            <div class="row">
                <div class="col-md-12">
                    @if (ViewData["posted"] != null)
                    {
                        <div class="alert alert-success">
                            <strong>Tidsrapporten tillagd.</strong>
                        </div>
                    }
                    <div class="tabbable tabbable-custom tabbable-noborder tabbable-reversed">
                        <div class="tab-content">
                            <div class="portlet light bordered">
                                <div class="portlet-title">
                                    <div class="caption">
                                        <span class="caption-subject font-green-sharp bold uppercase">missad rappoterad tid</span>
                                    </div>
                                </div>
                                <form class="form-horizontal">
                                    <div class="portlet-body form">
                                        <div class="form-group">
                                            @foreach (var date in ViewBag.MissingDays)
                                            {
                                                var isoDate = date.ToString("yy-MM-dd");
                                                <div class="col-md-2">
                                                    <input type="checkbox" name="Date" value="Date">
                                                    <a href="javascript:SetDate('@isoDate');">@isoDate</a>
                                                </div>
                                            }
                                         </div>
                                    </div>
                                </form>
                            </div>
                        </div>
                    </div>
                </div>

                @Html.ValidationSummary()
                @using (Html.BeginForm("TimeReport", "Reports", FormMethod.Post, new { enctype = "multipart/form-data", @class = "form-horizontal" }))
                {
                    @Html.Hidden("ReportId", Model.ReportId)
                    <div class="col-md-6">
                        <div class="tabbable tabbable-custom tabbable-noborder tabbable-reversed">
                            <div class="tab-content">
                                <div class="portlet light bordered">
                                    <div class="portlet-title">
                                        <div class="caption">
                                            <span class="caption-subject font-green-sharp bold uppercase">Rappotera tid</span>
                                        </div>
                                    </div>
                                    <div class="portlet-body form">
                                        <div class="form-group">
                                            <label class="col-md-3 control-label">Datum:</label>
                                            <div class="col-md-5">
                                                @Html.TextBox("date", Model.Date.ToShortDateString(), new { @class = "form-control" })
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <label class="col-md-3 control-label">Start tid:</label>
                                            <div class="col-md-5">
                                                @Html.TextBox("startTime", Model.Times.StartTime, new { @class = "form-control timepicker timepicker-24" })
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <label class="col-md-3 control-label">Slut tid:</label>
                                            <div class="col-md-5">
                                                @Html.TextBox("endTime", Model.Times.EndTime, new { @class = "form-control timepicker timepicker-24" })
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <label class="col-md-3 control-label">Rast Längd:</label>
                                            <div class="col-md-5">
                                                @Html.TextBox("breakTime", Model.Times.BreakTime, new { @class = "form-control timepicker timepicker-24" })
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <label class="col-md-3 control-label">Tid jobbad:</label>
                                            <div class="col-md-5">
                                                @Html.TextBox("workedHours", Model.Times.WorkedHours, new { @class = "form-control timepicker timepicker-24" })
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="col-md-6">
                        <div id="projects">
                            @foreach (var data in Model.Projects)
                            {
                                Html.RenderPartial("Project", data, ViewData["vd"] as ViewDataDictionary);
                                var viewDataDictionary = ViewData["vd"] as ViewDataDictionary;
                                if (viewDataDictionary != null)
                                {
                                    viewDataDictionary["id"] = (int)viewDataDictionary["id"] + 1;
                                }
                            }
                        </div>
                    </div>
                    <div class="form-actions">
                        <div class="col-md-offset-4 col-asdfasmd-9">
                            <a href="javascript:AddProject()" class="btn btn-primary">Lägg till projekt</a>
                            <button type="submit" class="btn btn-primary">Spara</button>
                        </div>
                    </div>
                    if (Model.ReportId.HasValue)
                    {
                        <input type="submit" value="Ta bort" name="delete" />
                    }
                }
            </div>
        </div>
    </div>
</div>

$(函数(){
$(函数(){
$(“#日期”).datepicker({
showButtonPanel:是的,
变化月:对,
变化年:是的,
日期格式:“年月日”,
第一天:1,
onSelect:函数(日期文本){
$('#EndDate')。日期选择器('option','minDate',新日期(dateText));
}
});
});
});
函数设置日期(dt){
$('日期').val(dt);
}
var n=@(Model.Projects.Count);;
函数AddProject(){
n++;
$.ajax({
键入:“获取”,
url:“@url.Action”(“项目”)/”+n,
数据类型:“html”,
成功:功能(数据){
$(“#项目”)。追加(数据);
}
});
}
$(函数(){
$('#startTime').change(function(){CalculateTime();});
$('#endTime').change(function(){CalculateTime();});
$('#breakTime').change(function(){CalculateTime();});
计算时间();
});
函数计算时间(){
试一试{
var startTime=$('#startTime').val();
var endTime=$('#endTime').val();
var breakTime=$('#breakTime').val();
var startDate=新日期(2000,1,1,startTime.substring(0,2),startTime.substring(3,5),0,0);
var endDate=新日期(2000,1,1,endTime.substring(0,2),endTime.substring(3,5),0,0);
var时间=结束日期-开始日期;
时间=时间/1000/60/60;
时间=时间-中断时间。子字符串(0,2);
时间=时间-(中断时间.子串(3,5)/60);
$('#workedHours').html(time+“timmar”);
}捕捉(错误){
$('#workedHours').html(“--”);
}
}
@如果(ViewData[“posted”]!=null)
{
Tidsrapporten TILAGD.
}
米萨德·拉波特拉德·蒂德
@foreach(视图包中的var日期。丢失天数)
{
var isoDate=日期至字符串(“yy-MM-dd”);
}
@Html.ValidationSummary()
@使用(Html.BeginForm(“TimeReport”、“Reports”、FormMethod.Post、new{enctype=“multipart/formdata”、@class=“form horizontal”}))
{
@Html.Hidden(“ReportId”,Model.ReportId)
雷波特拉tid
资料:
@Html.TextBox(“date”,Model.date.ToShortDateString(),new{@class=“form control”})
开始tid:
@TextBox(“startTime”,Model.Times.startTime,new{@class=“form control timepicker timepicker-24”})
荡妇工贸署:
@TextBox(“endTime”,Model.Times.endTime,new{@class=“form control timepicker timepicker-24”})
拉斯特·隆德:
@TextBox(“breakTime”,Model.Times.breakTime,new{@class=“form control timepicker timepicker-24”})
工业贸易署职位空缺: