搜索字符串+6个未知字符

时间:2015-11-25 15:27:21

标签: javascript jquery datepicker

我有几个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");
            }
        });

2 个答案:

答案 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');