2

基本的に、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]

これを達成するための正しい方法はどのようになりますか?

4

2 に答える 2

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");
于 2012-08-21T21:49:40.033 に答える
1

:contains()セレクターとlengthプロパティを使用できます。

var selectedTourDate = $("#tourDate").val();
var isDateBooked = $("#bookedTourDate *:contains("+selectedTourDate+")").length:
if (isDateBooked) alert("Date invalid");
于 2012-08-21T21:54:27.800 に答える