如何计算在我的网站上输入的评论数量

时间:2016-05-26 15:53:53

标签: javascript jquery html css

我有一个网站,我目前可以告诉我们从各种下拉菜单中选择了多少答案。现在我希望能够计算textarea标签内的注释。对于我基本上拥有的东西,我有一个小提琴。

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!=更改为空白字符串和其他一些内容但是我来找你堆栈

1 个答案:

答案 0 :(得分: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
});