2017-03-23 1 views
2

Ich möchte den Wert von einem Eingabefeld erhalten, das Wert enthält. Nur einer von ihnen enthält einen Wert von 3 und restlichen 2 sind leer:Wie man den Wert nur von einem Eingabefeld erhält, das einen Wert aus mehreren Eingabefeldern enthält

Der Code unten erwähnt wird scheint nicht zu funktionieren:

var a = $('input').eq(0).val(); 

if (a == undefined) { 
a = $('input').eq(1).val(); 
//if still undefined try the next input box 
if (a == undefined) { 
    a = $('input').eq(2).val(); 
} 
} 
console.log(a); 

Antwort

2

Wenn Sie die input zu finden sind, der erwiesenermaßen eine hat eingegebener Wert können Sie filter() verwenden, anstatt sie wiederholt zu überprüfen. Versuchen Sie folgendes:

var $field = $('input').filter(function() { 
 
    return $(this).val().trim() != ''; 
 
}); 
 

 
console.log($field.val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" value="" /> 
 
<input type="text" value="foo" /> 
 
<input type="text" value="" />

Beachten Sie, dass die oben, dass nur ein Feld einen Wert haben wird jemals annimmt. Wenn es mehrere gibt, müssen Sie die resultierende Sammlung in $field Schleife durchlaufen.

+0

Bequemere Möglichkeit, den OP-Ausgang zu erhalten. +1 – CodeMonkey

Verwandte Themen