我有几个div,每个div都有一个数据属性:data-date。
现在我想基于我刚刚实现的日期选择器来过滤它们。 我从日期选择器中取出的日期格式如下:“2015年12月25日”。
$('.reviewDatePicker').on('change', function () {
var fromDate = $('#reviewDatePickerFrom').val();
var toDate = $('#reviewDatePickerTo').val();
if (fromDate != "" && toDate != "") {
}
});
data-date属性是日期+小时/分钟/秒,如下所示:“2015年12月25日09:35:03”。数据属性中有额外的特定值是有原因的,这也是为了让我能够进行更多的特定搜索。
我想做的是允许datepicker获取所有具有数据属性的div,该属性以我从datepicker获得的值开始。我目前的搜索不会,因为它需要整个字符串。
$('#dropDownBoxDate').on('change', function () {
var value = $('#dropDownBoxDate option:selected').val();
if (value == 'All') {
$('#reviewHistoryDiv tr').removeClass("hidden");
} else {
$('#reviewHistoryDiv tr').not($("#reviewHistoryDiv tr[data-date='" + value + "']")).addClass("hidden");
$("#reviewHistoryDiv tr[data-date='" + value + "']").removeClass("hidden");
}
});
答案 0 :(得分:1)
使用适当的jQuery选择器。有一个“starts with”选择器:
您的代码将是这样的:
$('#dropDownBoxDate').on('change', function () {
var value = $('#dropDownBoxDate option:selected').val();
if (value == 'All') {
$('#reviewHistoryDiv tr').removeClass("hidden");
} else {
$('#reviewHistoryDiv tr').not($("#reviewHistoryDiv tr[data-date^='" + value + "']")).addClass("hidden");
$("#reviewHistoryDiv tr[data-date^='" + value + "']").removeClass("hidden");
}
});
答案 1 :(得分:0)
获取数据属性的值。
InputPane
检查是否存在
var date = $('#reviewHistoryDiv tr').data('date');