表:
<input id="weekFilter" type="text" name="myInputSearches" placeholder="Week..." style="margin-top:4px">
<label class="noResults" align="right" style="display:none; color:red"><b><i>No Match Found</i></b></label>
....
<tbody id="myTable">
{% for event in eventList %}
<tr>
<td><div style="width:100px">{{ event.week|date:"d-m-Y" }}</div></td>
<td><div style="width:200px; text-transform: uppercase">{{ event.name }}</div></td>
<td><div id="day0" style="width:200px; text-transform: uppercase">{{ event.sunday }}</div></td>
<td><div id="day1" style="width:200px; text-transform: uppercase">{{ event.monday }}</div></td>
<td><div id="day2" style="width:200px; text-transform: uppercase">{{ event.tuesday }}</div></td>
<td><div id="day3" style="width:200px; text-transform: uppercase">{{ event.wednesday }}</div></td>
<td><div id="day4" style="width:200px; text-transform: uppercase">{{ event.thursday }}</div></td>
<td><div id="day5" style="width:200px; text-transform: uppercase">{{ event.friday }}</div></td>
<td><div id="day6" style="width:200px; text-transform: uppercase">{{ event.saturday }}</div></td>
</tr>
{% endfor %}
</tbody>
jQuery过滤器:
$('#weekFilter').datetimepicker({
format:'DD-MM-YYYY',
});
$('#weekFilter').on('dp.change', function (e) {
var value = $("#weekFilter").val();
var firstDate = moment(value, "DD-MM-YYYY").day(0).format("DD-MM-YYYY");
// var lastDate = moment(value, "DD/MM/YYYY").day(6).format("DD/MM/YYYY");
$("#weekFilter").val(firstDate).change();
});
$('#weekFilter').on('dp.change', function (e) {
var rex = new RegExp($(this).val(), "i");
$("#myTable tr").hide();
$("#myTable tr").filter(function () {
return rex.test($(this).text());
}).show();
$(".noResults").hide();
if ($("#myTable tr:visible").length == 0) {
$(".noResults").show();
}
});
在这里选择日期时,表格会过滤掉数据。
jQuery设置默认值:
<script>
$(document).ready(function(){
$("#weekFilter").attr("value", "27-01-2019");
});
</script>
我希望默认值是要加载到过滤器中的一周的第一个日期(星期天),并且在加载页面时对表进行过滤。
我将如何去做?截至目前,默认值确实出现在输入文本框中,但表尚未过滤。
答案 0 :(得分:0)
只需将我的过滤器脚本放入默认值脚本中即可
<script>
var firstDate = moment().startOf('week').toDate();
var day1 = firstDate.getDate();
var month1 = firstDate.getMonth() + 1;
var year1 = firstDate.getFullYear();
if (day1.toString().length == 1) {
day1 = "0" + day1;
}
if (month1.toString().length == 1) {
month1 = "0" + month1;
}
var endOfWeek = moment().endOf('week').toDate();
var day2 = endOfWeek.getDate();
var month2 = endOfWeek.getMonth() + 1;
var year2 = endOfWeek.getFullYear();
if (day2.toString().length == 1) {
day2 = "0" + day2;
}
if (month2.toString().length == 1) {
month2 = "0" + month2;
}
$(document).ready(function(){
$("#weekFilter").attr("value", day1 + "-" + month1 + "-" + year1);
$("#displayWeek").html("Week: " + day1 + "-" + month1 + "-" + year1 + " <> " + day2 + "-" + month2 + "-" + year2);
var rex = new RegExp($("#weekFilter").val(), "i");
$("#myTable tr").hide();
$("#myTable tr").filter(function () {
return rex.test($(this).text());
}).show();
$(".noResults").hide();
if ($("#myTable tr:visible").length == 0) {
$(".noResults").show();
}
});
</script>