Как получить JQuery DatePicker в цикле в шаблоне Django? - PullRequest
0 голосов
/ 17 мая 2019

Я хотел бы иметь указатель даты и времени на входе. Я могу получить часы только в первой записи. как я могу получить указатель даты и времени во всех входах? Спасибо

Вот мой HTML:

<div>
    <table class="table table-hover" border="1" cellpadding="5" cellspacing="5" width="100%" style="width:100%">
      <tr>
        <th>Start</th>
        <th>End</th>
        <th>Update</th>
      </tr>
      {% for b in time_layer %}
      <tr scope="row">
        <form  action="/app/ok_go/"  method="get" autocomplete="off" >
            <td><input type="text" name="Start" id="Start"  value = "{{ b.Start|default:''  }}" size="1"></td>
            <td><input type="text" name="End" id="End"  value = "{{ b.End|default:''  }}"  size="1"></td>
            <input type="hidden" name="id_path" id="id_path"  value = "{{ request.build_absolute_uri  }}"  >
            <td><input class="btn btn-primary btn-sm" type="submit"value="Update"/></td>              
        </form>
      </tr>
      {% endfor %}
    </table>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.full.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.js"></script>


<script type="text/javascript">
    jQuery('#Start').datetimepicker({
      datepicker:false,
      format:'H:i'
    });
    jQuery('#End').datetimepicker({
      datepicker:false,
      format:'H:i'
    });
</script>

1 Ответ

0 голосов
/ 17 мая 2019

В HTML параметры id должны быть уникальными.Вы используете id="Start", id="End" и id="id_path" внутри цикла, это означает, что он будет присутствовать на странице более одного раза.Либо используйте классы, либо добавляйте что-либо к каждому значению id внутри цикла, например id="Start_{{ forloop.counter }}". документы

Если вы используете классы вместо идентификаторов, то вы можете использовать один вызов jquery, например class="datepickeried_input"

jQuery('.datepickeried_input').datetimepicker({
    datepicker:false,
    format:'H:i'
});
...