[英]Add Variables In If Statement From Values Determined by Radio Buttons
我做了一個簡短的調查,該調查會根據您的選擇給出最終的價值。 問題在於,只有第一個廣播組的“人員”被添加到了最后……其他四個(組織+焦點+位置+進位)被忽略了。 有人可以幫我弄清楚我的代碼有什么問題嗎? 謝謝!
var score = 0;
var people = 0;
var org = 0;
var focal = 0;
var location = 0;
var carry = 0;
//PEOPLE
if ($('input:radio:checked').val() === "Obama") {
people = -25;
}else if ($('input:radio:checked').val() === "Clinton"){
people = -15;
}else if($('input:radio:checked').val() === "Bush"){
people = 25;
}else if($('input:radio:checked').val() === "Romney"){
people = 0;
}else if($('input:radio:checked').val() === "Windsor"){
people = 25;
}else if($('input:radio:checked').val() === "Putin"){
people = -25;
};
//ORG
if ($('input:radio:checked').val() === "Christian") {
org = 20;
}else if ($('input:radio:checked').val() === "Boy Scouts"){
org = 10;
}else if($('input:radio:checked').val() === "Freemason"){
org = 30;
}else if($('input:radio:checked').val() === "KGB"){
org = -20;
}else if($('input:radio:checked').val() === "Islam"){
org = -30;
}else if($('input:radio:checked').val() === "Satanic Cult"){
org = -50;
};
//FOCAL
if ($('input:radio:checked').val() === "Financial") {
focal = 15;
}else if ($('input:radio:checked').val() === "Industry"){
focal = 20;
}else if($('input:radio:checked').val() === "Medical"){
focal = 5;
}else if($('input:radio:checked').val() === "Technology"){
focal = 30;
}else if($('input:radio:checked').val() === "War"){
focal = -30;
}else if($('input:radio:checked').val() === "Spy"){
focal = -20;
};
//LOCATION
if ($('input:radio:checked').val() === "United Kingdom") {
location = 5;
}else if ($('input:radio:checked').val() === "U.S.A."){
location = -15;
}else if($('input:radio:checked').val() === "China"){
location = 0;
}else if($('input:radio:checked').val() === "Germany"){
location = 20;
}else if($('input:radio:checked').val() === "Russia"){
location = -40;
}else if($('input:radio:checked').val() === "Mexico"){
location = -60;
};
//CARRY
if ($('input:radio:checked').val() === "Tune") {
var carry = 15;
}else if ($('input:radio:checked').val() === "Weight"){
var carry = 25;
}else if($('input:radio:checked').val() === "Stick"){
var carry = 0;
}else if($('input:radio:checked').val() === "Grudge"){
var carry = -25;
}else if($('input:radio:checked').val() === "Ebola"){
var carry = -80;
}else if($('input:radio:checked').val() === "Reset"){
var carry = -100;
};
var score = (people + org + focal + location + carry);
if(score>50){
$('.result').html('You Win!');
}else{
$('.result').html('You Lose!');
}
$('p').html("Your score is " + score + ".");
問題是您的單選按鈕,它將始終在所有組中返回第一個檢查的單選值,而不是針對特定組。
解決方案是在選擇器中使用無線電組名,例如$('input[name="people"]:radio:checked').val()
。
除此之外,您可以使用類似如下的值映射來簡化代碼
var pmap = {
Obama: -25,
Clinton: -15,
Bush: 25,
Romney: 0,
Windsor: 25,
Putin: -25
};
var people = pmap[$('input[name="people"]:radio:checked').val()] || 0;
也為其他組創建類似的價值圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.