Получить сумму вариантов, выбранных в поле выбора - PullRequest
0 голосов
/ 30 января 2020

Я хочу получить сумму значений выбранных опций в поле выбора. Я хочу общее количество нажатий кнопки. Я сделал функцию в jquery, но я получаю только первое выбранное значение. Сумма выбранных опций не приходит только первое значение, которое я пришел. Пожалуйста, помогите мне.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<script>
        $(document).ready(function() {
             $("#butt1").click(function() {
        myFunction4();
      });

      function myFunction4() {
        var value = 0;
        $("#sel4").each(function() {
              value += parseInt($(this).val());
              $("#demo3").text(value);
            });
      }
        });
</script>

</head>
<body>

<header>
    <div class="container-fluid">
        <div class="row">
            <div class="col-lg-12 main">
                <h2 id="demo" class="text-center">OnClick set selectbox value in Arrays</h2>
        <h3 id="demo1" class="text-center">OnClick set selectbox values through Multiple Arrays</h3>
        <h3 id="demo2" class="text-center">OnChange of select options set selectbox values through Multiple Arrays</h3>
        <h3 id="demo3" class="text-center">OnClick total of multiple select options values through Multiple Arrays</h3>
            </div>
        </div>
    </div>
</header>

<section class="imageback">
    <div class="container-fluid">
        <div class="row">
            <div class="col-lg-12">
            <div class="col-lg-2 main1">
                <form name="myform1" action="/action_page.php">
        <div class="form-group">
            <label for="sel2">Mutiple select list (hold shift to select more than one):</label>
              <select multiple class="form-control activity" name="dropdown" id="sel4">
                <option value="100">1</option>
                <option value="200">2</option>
                <option value="300">3</option>
                <option value="400">4</option>
                <option value="500">5</option>
              </select><br>
              <button type="button" id="butt1">Click for Result</button>
        </div>
            </form>
   </div>
   </div>
        </div>
    </div>
</section>

</body>
</html>

Ответы [ 2 ]

0 голосов
/ 30 января 2020

$ ("# sel4"). Каждый неверен, поскольку id всегда уникален, используйте $ ("опция # sel4: selected") и foreach их

рабочий раствор

$(document).ready(function() {
  $("#butt1").click(function() {
    myFunction4();
  });

  function myFunction4() {
    var value = 0;
    $("#sel4 option:selected").each(function(i, el) {
      value += parseInt($(el).val());
    });
      $("#demo3").text(value);
  }
});
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>

</head>

<body>

  <header>
    <div class="container-fluid">
      <div class="row">
        <div class="col-lg-12 main">
          <h2 id="demo" class="text-center">OnClick set selectbox value in Arrays</h2>
          <h3 id="demo1" class="text-center">OnClick set selectbox values through Multiple Arrays</h3>
          <h3 id="demo2" class="text-center">OnChange of select options set selectbox values through Multiple Arrays</h3>
          <h3 id="demo3" class="text-center">OnClick total of multiple select options values through Multiple Arrays</h3>
        </div>
      </div>
    </div>
  </header>

  <section class="imageback">
    <div class="container-fluid">
      <div class="row">
        <div class="col-lg-12">
          <div class="col-lg-2 main1">
            <form name="myform1" action="/action_page.php">
              <div class="form-group">
                <label for="sel2">Mutiple select list (hold shift to select more than one):</label>
                <select multiple class="form-control activity" name="dropdown" id="sel4">
                  <option value="100">1</option>
                  <option value="200">2</option>
                  <option value="300">3</option>
                  <option value="400">4</option>
                  <option value="500">5</option>
                </select><br>
                <button type="button" id="butt1">Click for Result</button>
              </div>
            </form>
          </div>
        </div>
      </div>
    </div>
  </section>

</body>

</html>
0 голосов
/ 30 января 2020

Посмотрите на приведенный ниже код JS.
a) Вам необходимо применить селектор как «опция: выбран» для выпадающего списка, который обеспечит получение только выбранных деталей опции из выпадающего списка.
b) поместил значение в текстовое поле после выполнения суммирования всех выбранных опций из выпадающего списка.

JS Код:

$(document).ready(function() {
  $("#butt1").click(function() {
    myFunction4();
  });
});

function myFunction4() {
  var value = 0;
  $("#sel4 option:selected").each(function() {
    value += parseInt($(this).val());
  });
  $("#demo3").text(value);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...