2017-03-24 16 views

答えて

1

1. CoffeeScriptの1つのライナー

それが可能だが、私はそれはきれいなまたは最も素晴らしい解決策だとは思いません。

any_blank_fields = '' in (field.value for field in $('form input[type="text"]')) 

inオペレータは、左側の値が右側の配列に存在するかどうかをチェックします。括弧内のループは、jQueryオブジェクトの配列をフィールドの値の配列にマップします。


2. jQueryのフィルタ

は、filterを用いとして良好に機能することができるいくつかのjQueryの特定ソリューションがある(このquestionを参照)。ここではCoffeeScriptのバージョンは次のとおりです。これは、すべての空のフィールドの配列を返します

emptyFields = $('form input[type="text"]').filter -> this.value is '' 

、あなたはすべての場合はCSSセレクタ

!!emptyFields.length # as zero values are falsey 

3を使用してブール値にこれを変換することができ入力エレメントのうちvalueのプロパティをHTMLに含めるには、次のものを使用できます。

anyEmptyFields = $('form input[type="text"][value=""]').length > 0 

+0

あなたの1番目の答えは、私が感謝のために探していたものです! 1つの質問、私は#3を実行するたびに、それは動作しません。それは私の欲求不満の一部です。空白の入力フィールドに "asd"と入力し、コンソールに移動して "$( 'form input [type =" text "] [value =" "]')と入力すると、first()。val()それは "asd"をyeilds ...それは空白でなければならない? –

+0

@JohnPollard興味深いことに、それはChrome 57で私の仕事でした。この問題のJSフィドルを作成できますか?そしてあなたが使っているブラウザを教えてください –

関連する問題