Request Form

by MikeWills

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/knockout/2.3.0/knockout-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js"></script>
<form class="requestForm" action="" method="post">
    <ul data-bind="foreach: DaysRequested" class="list user_list">
        <li>
            <div class="row-fluid">
                <div class="span12"> <a href="#" data-bind="click: $root.removeLeaveDay, enable: $root.DaysRequested().length > 1" class="btn btn-mini btn-danger pull-right"><i class="icon-remove icon-white"></i>&nbsp;Remove Date</a>

                </div>
            </div>
            <div class="row-fluid">
                <div class="span3">
                    <label class="control-label">Date</label>
                    <div class="input-append" data-date-format="mm/dd/yyyy">
                        <input class="date span11 required" type="text" data-bind="value: DateOfLeave, uniqueName: true" /> <span class="add-on"><i class="splashy-calendar_month"></i></span>

                    </div>
                </div>
                <div class="span3">
                    <label class="control-label">Time</label>
                    <div class="input-append">
                        <input class="time span11 required" type="text" data-bind="value: TimeOfLeave, uniqueName: true" /> <span class="add-on"><i class="splashy-calendar_day"></i></span>

                    </div>
                </div>
                <div class="span3">
                    <label class="control-label">Hours</label>
                    <!-- ko if: RequestType() !=' 4' -->
                    <select class="span12 required" data-bind="options: $root.hours, optionsCaption: '(Select)', value: HoursRequested, uniqueName: true"></select>
                    <!-- /ko -->
                    <!-- ko if: RequestType()==' 4' -->
                    <select class="span12 required" data-bind="options: $root.CThours, optionsCaption: '(Select)', value: HoursRequested,...

JavaScript

var jsonRequestType = [{
    "Id": 4,
    "Title": "Comp Time Used",
    "ParentId": 0,
    "MapToCode": "07",
    "HasRelationship": false,
    "HasNatureOfIllness": false,
    "ChildRequired": false,
    "Notes": "",
    "AccrualCode": "CT",
    "HourTypeCodes": [{
        "Id": "07",
        "Title": "COMP TIME USED",
        "AccrualTypeCode": "CT",
        "IsFMLA": false
    }, {
        "Id": "35",
        "Title": "COMP TIME USED WWTP",
        "AccrualTypeCode": "CT",
        "IsFMLA": false
    }]
}, {
    "Id": 6,
    "Title": "Leave w/out Pay",
    "ParentId": 0,
    "MapToCode": "15",
    "HasRelationship": false,
    "HasNatureOfIllness": false,
    "ChildRequired": false,
    "Notes": "Signature of City Manager needed for over 2 days.",
    "AccrualCode": "",
    "HourTypeCodes": [{
        "Id": "15",
        "Title": "LEAVE WITHOUT PAY",
        "AccrualTypeCode": "",
        "IsFMLA": false
    }]
}, {
    "Id": 21,
    "Title": "Military Leave",
    "ParentId": 0,
    "MapToCode": "25",
    "HasRelationship": false,
    "HasNatureOfIllness": false,
    "ChildRequired": false,
    "Notes": "A copy of orders or activation papers is required.",
    "AccrualCode": "",
    "HourTypeCodes": [{
        "Id": "25",
        "Title": "MILITARY LEAVE",
        "AccrualTypeCode": "",
        "IsFMLA": false
    }]
}, {
    "Id": 22,
    "Title": "Jury Duty",
    "ParentId": 0,
    "MapToCode": "26",
    "HasRelationship": false,
    "HasNatureOfIllness": false,
    "ChildRequired": false,
    "Notes": "A statement of jury service is required.",
    "AccrualCode": "",
    "HourTypeCodes": [{
        "Id": "26",
        "Title": "JURY DUTY",
        "AccrualTypeCode": "",
        "IsFMLA": false
    }]
}, {
    "Id": 29,
    "Title": "Election Judge",
    "ParentId": 0,
    "MapToCode": "E1",
    "HasRelationship": false,
    "HasNatureOfIllness": false,
    "ChildRequired": false,
    "Notes": "",
    "AccrualCode": "",
    "HourTypeCodes": [{
        "Id":...