Dom selector yang memiliki kata hampir sama menggunakan js

saya ingin bertanya, saya mempunyai kasus yang dimana banyaknya jumlah input dapat ditentukan oleh user dan memiliki maksimal yang tidak terbatas, seperti :

<label for="angka1">"angka1"</label>
                <input type="text" id="angka1" name="angka1">
<label for="angka2">"angka2"</label>
                <input type="text" id="angka2" name="angka2">
<label for="angka3">"angka3"</label>
                <input type="text" id="angka3" name="angka3">
<label for="angka4">"angka4"</label>
                <input type="text" id="angka4" name="angka4">

<!-- dan seterusnya.... -->

jadi bagaimana saya dapat mengambil id dari setiap input yang memiliki kata 'angka' tersebut ? dikarenakan setiap input yang dimasukkan user akan dijumlahkan sesuai poin yang dimasukkan user. oleh karena itu saya perlu mengambil value dari setiap input untuk saya looping sehingga dapat menjumlahkan secara otomatis..

mungkin ini seperti dengan querySelectorAll(), tetapi untuk fungsi querySelectorAll() harus memiliki selector yang sama persis, sedangkan dalam kasus saya tidak sama persis.

mohon bantuannya, terimakasih

avatar Terra
@Terra

81 Kontribusi 39 Poin

Diperbarui 4 tahun yang lalu

2 Jawaban:

Jawaban Terpilih

kira kira mungkin seperti ini

<pre> function myFunction() { var inputlist = document.getElementsByTagName("input"); var total = 0; for(i=0;i&lt;inputlist.length;i++){ total = total + (inputlist[i].value*1); } document.getElementById("result").innerHTML = total; } </pre>

kenapa saya kasi *1 soalnya biar dia jadi integer. kalau ga jadi integer nanti dia pas penambahan total + angka = 0 + 1 = 01

avatar ikhsanfadillah
@ikhsanfadillah

11 Kontribusi 4 Poin

Dipost 4 tahun yang lalu

Tanggapan

Ini solusinya bagus, cuma kalau input digunakan di tempat lain, ikut terambil saat getElementByTagName

Terimakasi gan solusinya, benar kata @IfanZalukhu klau Makai tagName maka semua tag input terambil, tapi masalah itu sudah saya modif Makai queryselector jadi sudah nggk masalah yang penting logic nya aja.

Di tag input nya coba tambahkan class, contohnya class input-angka. Nanti querySelectorAll nya berdarkan class.

kurang lebih seperti ini codenya: <pre> &lt;label for="angka1"&gt;"angka1"&lt;/label&gt; &lt;input type="text" id="angka1" class="input-angka" name="angka1"&gt;

&lt;label for="angka2"&gt;"angka2"&lt;/label&gt; &lt;input type="text" id="angka2" class="input-angka" name="angka2"&gt; </pre>

avatar IfanZalukhu
@IfanZalukhu

217 Kontribusi 158 Poin

Dipost 4 tahun yang lalu

Tanggapan

Terimakasih gan bantuannya. Masalah nya ada di logic js nya aja nggk dapat gan, soalnya biasa Makai PHP, saya kira fungsinya yang sama kayak strpos diphp atau di mysql yang Makai sintaks like % %

Login untuk ikut Jawaban