Tworzę tablicę pobierającą wartości z dynamicznie utworzonego pola wejściowego.
temp[i] = {
custAccId:$('#accId'+ i).val(),
accountNumber: $('#account'+ i).val(),
ifscCode: $('#ifsc'+ i).val(),
}
Tutaj muszę sprawdzić if $('#account0').val()===$('#account1').val()
i tak dalej. Jak mogę to zrobić? Należy pamiętać, że muszę sprawdzić ten sam warunek również dla wartości kodu IFSC.
3 odpowiedzi
Oto bardzo prosty sposób na wykonanie porównania.
Jeśli chcesz usunąć duplikaty, użyję array.filter
metoda.
var temp = [];
$('li').each(function(i) {
temp[i] = {
custAccId: $('#accId' + i).val(),
accountNumber: $('#account' + i).val(),
ifscCode: $('#ifsc' + i).val()
}
if ($('#account' + i).val() == $('#account' + (i+1)).val()) {
console.log('Account '+i+' equal to account '+(i+1));
}
});
console.log(temp)
input {width: 5em}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li>0
<input type="text" id="accId0" value="00">
<input type="text" id="account0" value="AA">
<input type="text" id="ifsc0" value="X00">
</li>
<li>1
<input type="text" id="accId1" value="01">
<input type="text" id="account1" value="AA">
<input type="text" id="ifsc1" value="X01">
</li>
<li>2
<input type="text" id="accId2" value="02">
<input type="text" id="account2" value="BB">
<input type="text" id="ifsc2" value="X02">
</li>
</ul>
Jeśli chcesz tylko sprawdzić poprawność i zgłosić błąd, jeśli coś się nie zgadza, reduce
wygląda na najłatwiejszą opcję.
const a = {a: 1};
const b = {a: 1};
const c = {a: 2};
const data = [a, b];
const faultyData = [a, b, c];
// Throw an exception if something is not the same
function validate(dataToValidate) {
dataToValidate.reduce((previous, current) => {
if (previous === null) { return current }; // Initial loop. Nothing to compare
if (current.a === previous.a) { return current; }
throw new Error('Some values are different')
}, null)
}
validate(data);
try {
validate(faultyData)
} catch (err) {
console.warn('An error happened while validating')
}
Nie znam jednak szerszego obrazu i tego typu walidacja pachnie podejrzanie ...
Mój StackOverflow pokazuje ograniczone pytanie, dlatego pytam tutaj.
Pytanie brzmi - używam Crud z AJAX i JavaScriptem do dodawania / edycji / usuwania danych użytkownika. Wszystko działa dobrze. Dla wszystkich 3 funkcji używam trybu bootstrap, ale w przypadku edycji, podczas edycji modalnej, otrzymuję dane, które są wyświetlane w każdym polu, aby zobaczyć na zdjęciu
Ale w tym trybie edycji chcę otrzymywać wartości z javascript w var, aby przekazać pole edytora bogatego w HTML Summernote, ale to dla mnie szokujące, że nie znalazłem wartości w javascript. Próbowałem uzyskać dostęp do var przez .val (), ale nie uzyskałem żadnej z wartości teies. Nie rozumiem dlaczego. Z powodu tych wartości wyświetlanych w formularzu, dlaczego nie otrzymam ich w innej zmiennej javascript.
Dziękuję z góry. może jest to zbyt łatwe, ale tak naprawdę utknąłem tutaj i po prostu dostaję notatki.