2015-10-16 73 views
0

加或減變革事件值我有以下代碼:在Javascript

//code not relevant to question 

var answer_1 = parseInt(3), 
    answer_2 = parseInt(1), 

$radioOptions.on("change",function(){ 
//additional code 

    answer_1 = answer_1 + 1; 

//more code 

    answer_2 = answer_2 + 1; 

}); 

當無線電被點擊表格中會發生什麼事,我們增加1到該變種。例如,如果我點擊​​無線電,它會將1加到變量4上。

這是我碰到的問題。有多個無線電選項。如果某人點擊了​​,然後點擊了answer_2,它將兩個字段都添加爲1,因爲他們點擊了這兩個字段。

我需要做的只是添加一個他們選擇的選項。換句話說,如果他們點擊​​它將加1加到該變量中。如果他們然後選擇answer_2它刪除了他們先前選擇的加1,並加上一個現在選擇的選項。

我該怎麼做到這一點?

+0

** ** 1,不要使用'在單選按鈕上click'事件,使用'change'事件 ** 2 **使用'data- *'屬性來存儲元素 ** 3的值。**使用'data()'獲取存儲的值 – Tushar

+0

無線電具有'value',不要在不需要的地方使用data-s。 – dandavis

回答

0

試試這個:。

var selector = $('input[type=radio]'); 
 
var preElem; 
 
selector.on('change', function() { 
 
\t ++this.value; 
 
\t if (preElem) { 
 
\t \t --preElem.value; 
 
\t \t $(preElem).parents('label').next().text(preElem.value); 
 
\t } 
 
\t preElem = this; 
 
\t $(this).parents('label').next().text(this.value); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<label for="1"> 
 
    <input type="radio" id="1" name="test" value="1">Radio 1</label>&nbsp;&nbsp;Total: <span>1</span> 
 
<br> 
 
<label for="2"> 
 
    <input type="radio" id="2" name="test" value="1">Radio 2</label>&nbsp;&nbsp;Total: <span>1</span> 
 
<br> 
 
<label for="3"> 
 
    <input type="radio" id="3" name="test" value="1">Radio 3</label>&nbsp;&nbsp;Total: <span>1</span> 
 
<br> 
 
<label for="4"> 
 
    <input type="radio" id="4" name="test" value="1">Radio 4</label>&nbsp;&nbsp;Total: <span>1</span> 
 
<br>

+0

我以爲當其他單選按鈕被選中時,前面添加的將被刪除'如果他們然後選擇answer_2它刪除了他們之前選擇的那個加1' – guradio

+0

因此,價值永遠不會超過2? – Rayon

+0

它的'1或2'爲第一個'2或3'爲第二個等等 – guradio