Saya mengalami masalah. Saya memiliki akumulasi jumlah donasi yang terkumpul, mis. 10€. Kemudian saya memiliki sejumlah LSM yang dapat Anda pilih untuk disumbangkan. Anda memiliki kesempatan untuk mengaktifkan/menonaktifkan LSM mana yang ingin Anda dukung. Anda dapat memilih untuk menyumbang kepada mereka semua yang berarti setiap LSM akan menerima 10€ / 3 = 3,33 € masing-masing. Anda dapat memilih dua dan alokasi akan menjadi 10 € / 2 = 5 € masing-masing dll.

Saya mengalami masalah dalam menemukan cara untuk melakukan ini dalam javascript. Bisakah Anda membimbing saya ke jalan yang benar? Terima kasih.

function goBack() {
  window.history.back();
}

function myFunction() {
    var y = 5;
    var x = y / 3;
    document.getElementById("demo").innerHTML = x;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script src="Velgørenhed.js"></script>

    <link rel="stylesheet" type="text/css" href="Velgørenhed.css"/>

</head>
<body>

<!-- Tilbage knap  -->
<button id="tilbage" onclick="goBack()">Tilbage</button>

<form action="/action_page.php" method="get">
    <input type="checkbox" name="organisation" value="WHO" checked> Vælg velgørenhedsorgsnisation WHO<br>
    <input type="checkbox" name="organisation" value="Plastic Change" checked> Vælg velgørenhedsorgsnisation Plastic Change<br>
    <input type="checkbox" name="organisation" value="Sea Turtle Conservancy" checked> Vælg velgørenhedsorgsnisation Sea Turtle Conservancy<br>
    <input type="submit" value="Submit">
</form>

<p>y = 5, calculate x = y / 3, and display x:</p>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<!-- Log ud knap -->
<button id="logOut" onclick="logOut()">Log ud</button>

<script>
    function logOut() {
        document.location.href = "1logInd.html";
    }
</script>




</body>
</html>
0
perpleksl 23 Oktober 2019, 16:07

3 jawaban

Jawaban Terbaik

Anda dapat menemukan semua kotak centang yang dipilih dan menggunakan panjang yang dihasilkan untuk membagi dengan jumlah total yang akan disumbangkan ke semua organisasi.

const form = document.forms[0];

form.elements['calc-btn'].addEventListener('click', function() {
  let total = parseInt(form.elements['amount'].value, 10);
  let count = selectedCheckboxes(form, 'organisation').length;
  document.getElementById('result').textContent = average(total, count).toFixed(2);
});

triggerEvent(form.elements['calc-btn'], 'click'); // Calculate on load

function average(total, count) {
  return count > 0 ? total / count : 0;
}

function selectedCheckboxes(form, name) {
  return Array.from(form.elements[name]).filter(c => c.checked);
}

function triggerEvent(el, eventName) {
  var event = document.createEvent('HTMLEvents');
  event.initEvent(eventName, true, false);
  el.dispatchEvent(event);
}
fieldset {
  margin-bottom: 0.5em;
}

.result-display {
  margin-top: 1em;
}
<form action="/action_page.php" method="get">
  <h2>Donation Form</h2>
  <fieldset>
    <legend>Organizations</legend>
    <input type="checkbox" name="organisation" value="WHO" checked>
      Vælg velgørenhedsorgsnisation WHO<br>
    <input type="checkbox" name="organisation" value="Plastic Change" checked>
      Vælg velgørenhedsorgsnisation Plastic Change<br>
    <input type="checkbox" name="organisation" value="Sea Turtle Conservancy" checked>
      Vælg velgørenhedsorgsnisation Sea Turtle Conservancy<br>
  </fieldset>
  <fieldset>
   <legend>Donation amount (€)</legend>
    <input type="text" name="amount" value="10.00" />
  </fieldset>
  <input type="button" id="calc-btn" value="Calculate" />
  <div class="result-display">Calculated donation amount: <span id="result">0</span>€</div>
</form>
0
Mr. Polywhirl 23 Oktober 2019, 13:42

$(".orgs input[type='checkbox']:checked").length; akan mengembalikan berapa banyak kotak centang yang dipilih. Jumlah total donasi akan dibagi ke jumlah organisasi yang dipilih.

function goBack() {
  window.history.back();
}

function myFunction() {    
    // let's suppose that we have 20$ donated
    var totalDonations = 20;
    
    var noOfChckSelected = $(".orgs input[type='checkbox']:checked").length;
    console.log("no of organisations selectd: " + noOfChckSelected)
    
    var donationPerOrg = totalDonations / noOfChckSelected;
    
    document.getElementById("demo").innerHTML = donationPerOrg;
    
    console.log("each organisation will receive: " + donationPerOrg)
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script src="Velgørenhed.js"></script>

    <link rel="stylesheet" type="text/css" href="Velgørenhed.css"/>

</head>
<body>

<!-- Tilbage knap  -->
<button id="tilbage" onclick="goBack()">Tilbage</button>

<form action="/action_page.php" method="get">
<div class = "orgs">
    <input type="checkbox" name="organisation" value="WHO" checked> Vælg velgørenhedsorgsnisation WHO<br>
    <input type="checkbox" name="organisation" value="Plastic Change" checked> Vælg velgørenhedsorgsnisation Plastic Change<br>
    <input type="checkbox" name="organisation" value="Sea Turtle Conservancy" checked> Vælg velgørenhedsorgsnisation Sea Turtle Conservancy<br>
    <input type="submit" value="Submit">
    </div>
</form>

<p>y = 5, calculate x = y / 3, and display x:</p>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<!-- Log ud knap -->
<button id="logOut" onclick="logOut()">Log ud</button>

<script>
    function logOut() {
        document.location.href = "1logInd.html";
    }
</script>




</body>
</html>
0
Mara Black 23 Oktober 2019, 13:21

Saya tidak memiliki cakupan penuh di mana Anda mendapatkan akumulasi jumlah donasi, tetapi saya dapat berasumsi bahwa kotak centang dengan nama "organisasi" adalah milik LSM. Dalam hal ini, Anda dapat melakukan sesuatu seperti

var numOrgsDonateTo = document.querySelectorAll("input[name='organisations[]']:checked").length
var allocation = sumDonation / numOrgsDonateTo

Baris pertama pada dasarnya mencari semua input dengan nama = "organisasi" yang diperiksa dan menghitung berapa banyak yang ada

0
Justin 23 Oktober 2019, 13:25