[英]How to get and addition two select value dynamically?
我有兩個選擇框,但我獲得了選擇的價值,但我想將兩個選擇相互加法(基本數學運算),也許我可以只用一個函數來處理它,所以我對.person-1
和.person-2
兩個函數使用兩個函數.person-2
$(document).ready(function(){ $(".person-1").change(function(){ var add_1 = $('option:selected',this).text(); $(".addition-1").text(add_1); }); $(".person-2").change(function(){ var add_2 = $('option:selected',this).text(); $(".addition-2").text(add_2); }); });
select{ width:150px; height:40px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <html lang="en"> <head> <meta charset="UTF-8" /> </head> <body> <select class="person-1"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <select class="person-2"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <p>Add 1: <span class="addition-1"></span></p> <p>Add 2: <span class="addition-2"></span></p> <p>Add 1+2 : <span class="addition"></span> </p> </body> </html>
將字符串值解析為整數,然后執行簡單的加法操作。替換您的JavaScript代碼並嘗試執行此操作。希望對您有所幫助。
$(document).ready(function() {
var add_1=0;
var add_2=0;
$(".person-1").change(function() {
add_1 = $('option:selected', this).text();
$(".addition-1").text(add_1);
$(".addition").text(parseInt(add_1)+parseInt(add_2));
});
$(".person-2").change(function() {
add_2 = $('option:selected', this).text();
$(".addition-2").text(add_2);
$(".addition").text(parseInt(add_1)+parseInt(add_2));
});
});
$(document).ready(function(){ $(".person-select").change(function(){ var p1 = parseInt($(".person-1").val()); var p2 = parseInt($(".person-2").val()); $(".addition-1").text(p1); $(".addition-2").text(p2); $(".addition").text(p1+p2); }); });
select{ width:150px; height:40px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <html lang="en"> <head> <meta charset="UTF-8" /> </head> <body> <select class="person-select person-1"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <select class="person-select person-2"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <p>Add 1: <span class="addition-1"></span></p> <p>Add 2: <span class="addition-2"></span></p> <p>Add 1+2 : <span class="addition"></span> </p> </body> </html>
這是另一種簡單的方法。
$(document).ready(function() { $(".person-1, .person-2").change(function() { var val1 = parseInt($('.person-1').find(":selected").text()), val2 = parseInt($('.person-2').find(":selected").text()); $(".addition-1").text(val1); $(".addition-2").text(val2); $(".addition").text(val1 + val2); }); });
select { width: 150px; height: 40px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <html lang="en"> <head> <meta charset="UTF-8" /> </head> <body> <select class="person-1"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <select class="person-2"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <p>Add 1: <span class="addition-1"></span> </p> <p>Add 2: <span class="addition-2"></span> </p> <p>Add 1+2 : <span class="addition"></span> </p> </body> </html>
將字符串值解析為整數,然后執行簡單加法,作為選擇框選擇值返回字符串
$(document).ready(function(){ var add_1 =0; var add_2=0; $(".person-1").change(function(){ add_1 = parseInt($('option:selected',this).text()); $(".addition-1").text(add_1); $(".addition").text(add_2+add_1); }); $(".person-2").change(function(){ add_2 = parseInt($('option:selected',this).text()); $(".addition-2").text(add_2); $(".addition").text(add_2+add_1); }); });
select{ width:150px; height:40px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <html lang="en"> <head> <meta charset="UTF-8" /> </head> <body> <select class="person-1"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <select class="person-2"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <p>Add 1: <span class="addition-1"></span></p> <p>Add 2: <span class="addition-2"></span></p> <p>Add 1+2 : <span class="addition"></span> </p> </body> </html>
$(document).ready(function() { var add_1 = 0; var add_2 = 0; $(".person-1").change(function() { add_1 = +this.value; $(".addition-1").text(add_1); $(".addition").text(add_1+add_2); }); $(".person-2").change(function() { add_2 = +this.value; $(".addition-2").text(add_2); $(".addition").text(add_1+add_2); }); });
select { width: 150px; height: 40px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <html lang="en"> <head> <meta charset="UTF-8" /> </head> <body> <select class="person-1"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <select class="person-2"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <p>Add 1: <span class="addition-1"></span> </p> <p>Add 2: <span class="addition-2"></span> </p> <p>Add 1+2 : <span class="addition"></span> </p> </body> </html>
您可以在1個回調函數中處理所有內容。 只需將相同的函數傳遞給$(".person-1").change
和$(".person-2").change
。
在該回調函數中,獲取兩個值,然后填充字段:
function displayValues() {
add_1 = parseInt($('.person-1').val(), 10);
add_2 = parseInt($('.person-2').val(), 10);
$(".addition-1").text(add_1);
$(".addition-2").text(add_2);
$(".addition").text(add_2 + add_1);
}
使用JQuery .each()函數的簡短解決方案:
$("select[class^='person-']").change(function(){ var num = $(this).attr('class').match(/^person-(\\d+)/)[1], sum = 0; $(".addition-" + num).text($(this).val()); $("select[class^='person-'] option:selected").each(function(i, el){ sum += Number($(el).val()); }); $(".addition").text(sum); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select class="person-1"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <select class="person-2"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <p>Add 1: <span class="addition-1"></span></p> <p>Add 2: <span class="addition-2"></span></p> <p>Add 1+2 : <span class="addition"></span> </p>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.