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.

-1
Piyali Ghosh 19 grudzień 2019, 15:58
Temp[1].custAccId === temp[2].custAccId ?
 – 
bZezzz
19 grudzień 2019, 16:06

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>
1
rafaelcastrocouto 19 grudzień 2019, 16:10

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 ...

0
Jeffrey Devloo 19 grudzień 2019, 16:11

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

enter image description here

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.

0
heySushil 19 grudzień 2019, 16:17