Как предоставить данные из одного поля ввода в два поля ввода сгенерированной формы Django? - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь получить похожий вид на диапазон дат, как показано ниже (рисунок 1).enter image description here

Figure 1 : Predefined Date Ranges

HTML текущей формы

<form method="POST" enctype="multipart/form-data">
<input type="hidden" name="csrfmiddlewaretoken" value="">

<div id="div_id_start_date" class="form-group">
    <label for="id_start_date" class="col-form-label ">
        Start date
    </label>
    <div class="">
        <input type="text" name="start_date" value="2019-04-25" class="datetimeinput form-control" id="id_start_date"> </div>
</div>
<div id="div_id_end_date" class="form-group">
    <label for="id_end_date" class="col-form-label ">
        End date
    </label>
    <div class="">
        <input type="text" name="end_date" value="2019-04-26" class="datetimeinput form-control" id="id_end_date"> </div>
</div>

<input type="submit" id="btnsubmit" value="Submit">

HTMLи JS на рисунке 1 выглядит

< div id = "reportrange" style = "background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%" >< i class = "fa fa-calendar" > < /i>&nbsp; < span > < /span > < i class = "fa fa-caret-down" > < /i > < /div >

< script type = "text/javascript" >
$(function() {

    var start = moment().subtract(29, 'days');
    var end = moment();

    function cb(start, end) {
        $('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
    }

    $('#reportrange').daterangepicker({
        startDate: start,
        endDate: end,
        ranges: {
            'Today': [moment(), moment()],
            'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
            'Last 7 Days': [moment().subtract(6, 'days'), moment()],
            'Last 30 Days': [moment().subtract(29, 'days'), moment()],
            'This Month': [moment().startOf('month'), moment().endOf('month')],
            'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
        }
    }, cb);

    cb(start, end);

}); < /script>

Форма Django имеет два поля ввода, но в примере нет поля ввода.Как я могу получить желаемый вид моей текущей формы.

1 Ответ

0 голосов
/ 18 июня 2019
function cb(start, end) {
   $('#id_start_date').val(start.format('YYYY-MM-DD'));
   $('#id_end_date').val(end.format('YYYY-MM-DD'));
}

- Дэн Гроссман (автор Daterangepicker)

...