基本上我有一个jQuery包装集和一个日期,我想要的是验证包装集上是否存在日期。
我正在尝试的是以下内容:
var selectedTourDate = $("#tourDate").val();
var isDateBooked = $("#bookedTourDate *").each(function () {
if (this.innerHTML == selectedTourDate) return true;
else return false;
});
if (isDateBooked) alert("Date invalid");
但isDateBooked包含某种功能:
jQuery.fn.jQuery.init [1]
如何以正确的方式实现这一目标?
答案 0 :(得分:1)
在您的代码中,isDateBooked
是一个jQuery对象,它总是返回true。您需要测试jQuery对象的.length
以确定其中是否有任何有趣的内容。
我认为您要做的是将.each
替换为.filter
,然后测试生成的jQuery对象的长度:
var selectedTourDate = $("#tourDate").val();
var $isDateBooked = $("#bookedTourDate *").filter(function () {
if (this.innerHTML == selectedTourDate) return true;
else return false;
});
if ($isDateBooked.length) alert("Date invalid");
答案 1 :(得分:1)
您可以使用:contains()
选择器和length
属性:
var selectedTourDate = $("#tourDate").val();
var isDateBooked = $("#bookedTourDate *:contains("+selectedTourDate+")").length:
if (isDateBooked) alert("Date invalid");