3つのdivがあり、それぞれに2つの入力フィールドと次のボタンがあります。 jQueryのスニペットを書いて、次のボタンがクリックされたときに、ボタンと同じdiv内のすべての入力フィールドを確実にチェックします.nullではありません。すべての入力フィールドがjQueryで記入されていることを確認してください
は、私はあなたが減らすためにfilter
を使用することができ
3つのdivがあり、それぞれに2つの入力フィールドと次のボタンがあります。 jQueryのスニペットを書いて、次のボタンがクリックされたときに、ボタンと同じdiv内のすべての入力フィールドを確実にチェックします.nullではありません。すべての入力フィールドがjQueryで記入されていることを確認してください
は、私はあなたが減らすためにfilter
を使用することができ
...運が、その間違っている、唯一の私は、オンラインで関連情報を見つける傾ける特定のイム100%で、次の試してみました
$(".next").click(function() {
var empty = $(this).parent().find("input").filter(function() {
return this.value === "";
});
if(empty.length) {
//At least one input is empty
}
});
:空であり、そしてそれだけのものにすべての
input
要素の集合は残るものの
length
プロパティをチェック
上記のコードで空の定義が空の文字列であることに注意してください。余白としても空白を扱う場合は、比較する前に値をトリムすることができます。
filter
関数内でthis
をjQueryに渡す必要はありません。 DOM要素自体にはvalue
というプロパティがあり、val
ではなくアクセスする方がはるかに高速です。
ここにはupdated fiddleがあります。
$('.next').click(function() {
var emptyInputs = $(this).parent().find('input[type="text"]').filter(function() { return $(this).val() == ""; });
if (emptyInputs.length) {
alert('Fail!');
}
});
$('.next').click(function() {
var inputs = $(this).parent().find('input[value=""]');
if (!inputs.length) {
// you have empty fields if this section is reached
}
});
これは、空でない入力があっても空の入力があると言うでしょう。なぜなら、プロパティではなく、 'value' *属性*を見ているからです。 –
私は従いませんか?私はjQueryに精通していないので、説明してもらえますか? –
属性セレクタを使用して、 'value'属性が空の文字列と等しい要素を見つけました。 'value' *属性*は要素自体に定義されたものです:' '。問題の 'input'要素のどれも' value'属性を持たないので、あなたのコードは常にそれらがすべて空であると言います。 –
ああ、素晴らしい、ありがとう! – Liam
問題はありません。私は助けてくれてうれしいです:) –
これを入力テキストのフォームに使用して選択するにはどうすればいいですか? –