2016-05-26 24 views
0

我有一個網站,我目前可以告訴您從多個下拉菜單中選擇了多少個答案。現在我希望能夠計算textarea標籤內的註釋。我基本上有一個js小提琴。我如何計算在我的網站上輸入的評論數

https://jsfiddle.net/josephmckenzie/Lr1evv3v/3/

當你點擊評論鏈接將會打開一個評論框手風琴當前下拉下,一旦進入,他們進入下一個問題。它們都應該計數(已經有下拉計數器工作),並且如果與菜單選擇一起輸入評論,則評論計數器也應當計數。

<div class="QuestionsAnswered"> 
summary<br> 
Total = <span class="cnt-total">0</span> <br> 
</div> 

<select name="firstone"> 
    <option value="">Choose One</option> 
    <option value="Yes">Yes</option> 
    <option value="No">No</option> 
    <option value="na">N/A</option> 
</select> 

<div class="accordion">Comment</div> 
    <div class="panel"> 
     <textarea name="comment<%=index%>" rows="4" cols="15"></textarea> 
    </div> 


<select name="secondone"> 
    <option value="">Choose One</option> 
    <option value="Yes">Yes</option> 
    <option value="No">No</option> 
    <option value="na">N/A</option> 
</select> 

的JS

$('select').change(function() { 
// get all selects 
var allSelects = $('select') 
var total = 0; 

// for each select increase count 
$.each(allSelects, function(i, s) { 
    // increase count 
    if($(s).val() == 'Yes') { total++; } 
    if($(s).val() == 'No') { total++; } 
    if($(s).val() == 'na') { total++; } 
}); 

$('.cnt-total').text(total); 

}); 

var acc = document.getElementsByClassName("accordion"); 
var i; 

for (i = 0; i < acc.length; i++) { 
    acc[i].onclick = function(){ 
    this.classList.toggle("active"); 
    this.nextElementSibling.classList.toggle("show"); 
} 
}; 

我試圖改變選擇文本區域和.VAL!=爲空字符串和一些其他的東西,但可惜我來給你一疊

+0

出於好奇,是否有一個原因,你使用jQuery的'選擇'變化,但不是評論點擊? – jwatts1980

+0

僅僅因爲你在應用程序的某個地方使用了Ruby,並不會使問題成爲Ruby的問題。如果你在示例代碼中使用了Ruby,那麼它就是相關的,但它不是,並且是一種分心。 –

+0

@ jwatts1980沒了,沒意識到我說好的,可能是一個問題,因爲在下拉菜單不帶出來的jQuery –

回答

1

請確保'total'是一個全局變量,因此請將其從$(。'select')中取出。change(function())(https://jsfiddle.net/Lr1evv3v/7/)。

$("#the_answer").on("blur", function(){ 
$(this).val() ? total++ : total--; 
$('.cnt-total').text(total); //to update the total text 
}); 
+0

我真的鏈接此人,但你做第一個下拉選擇後它計算下一個兩個算,生病嘗試我自己的,但也許你可以幫我解決這個問題? –

+0

嗯,「$ .each(allSelects,function(i,s){」在每次下拉值變化時迭代所有下拉菜單;所以如果已經在下拉菜單中選擇了一個值, – rsn

+0

是的,這是有道理的,但我的意思是我選擇是的第一個計數是1然後輸入一個評論計數是2然後當我去第二個下拉它跳轉到4 –

相關問題