2017-04-21 4 views
0

私のフォームには、クラスを必要とし、値を持たないすべての入力(テキストボックス)を選択したいと考えています。だから私は使用しています:ユーザーがテキストボックスに値を入力した場合でも値属性を使用してすべての入力を選択してください

$('input[value=""]', '.required') 

私の問題があり、ヴァル()、その値を返しますが、値は空のままですので、私の上記のjQueryは、まだすべての入力を選択します以前は空でしたが、それはしてはいけません。どのようにvalが空であるすべての入力を選択するのですか?

答えて

2

入力のvalue attributevalue propertyは、ユーザーが編集した後で同じではありません。

使用filter()と...のようなものvalueプロパティをチェックします。その後、値なしで入力を探し、required属性を持つすべての入力をキャッチし、

まず
var $empties = $('input[required]').filter(function(){ 
    return !this.value; 
}).doSomething(); 

if(!$empties.length){ 
    // process submit 
}else{ 
    // prevent submit 
} 
0

あなたはまだjQueryのヴァル()関数

var required_inputs = []; 
$('input.required').each(function() { 
    var $this = $(this); 
    if ($this.val() == "") { 
     required_inputs.push($this); 
    } 
}) 

あなたが空になっている必要な入力要素の配列を持ってその方法を使用することができます。あなたはその機能を実行することができます。そのような各入力のぼかしをオンにして、それらの要素であなたが望むものをやります。

2

を。

$('input[required=""]').each(function(){ 
 
    if (!$(this).val()) { 
 
    console.log(this); 
 
    //logic 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input required> 
 
<input required> 
 
<input required value='x'> 
 
<input value='y'>

0

あなたはreturn文で各1の値をチェックすることで、val()空にすべての入力を取得するためにfilter()を使用することができます。あなたはこのように選択することができます

$("#getInputs").click(function() { 
 
    var arr = $('input').filter(function() { 
 
    return ($(this).val() == ''); 
 
    }); 
 
    console.log(arr) 
 
});
input { 
 
    display: block; 
 
    margin-bottom: 10px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" value=""> 
 
<input type="text" value=""> 
 
<input type="text" value=""> 
 
<input type="text" value=""> 
 
<button id="getInputs">Get</button>

+0

'val()'は決して 'null 'を返しません。 – charlietfl

+0

私が意味することは、文字通りの意味では空です。 –

+0

良いですが、これは 'null 'と同じではありません – charlietfl

-1

HTML

<input class="required" /> 
<input class="required" /> 
<input class="required" value='x'> 
<input value='y'> 

JS

$("input:not([value]).required, input[value=''].required") 

ありがとう

+0

はユーザーの入力を考慮していません – charlietfl

関連する問題