我想对根据文章字数提交文章的用户给予分数。
但是我的页面有很多文本区域字段。让我们说message1,message2,message3
当用户填写textarea(message1,message2,message3)时,它将在底部显示如下。
You have typed x words. Points per word : 0.2. Estimated point: xx
我也想计算整体积分。所以我想添加message1,message2,message3的点,并将其显示为整体点。
我是一个jquery菜鸟。所以我不确定我应该调用哪个变量。
这是我目前所拥有的jfiddle代码。
有人能帮助我吗?谢谢
答案 0 :(得分:2)
你可以声明一个变量来保存每个字数的值(初始化为0):
var count1 = count2 = count3 = 0;
然后执行以下操作:
count1 = data.words;
$('#showData4').html((count1+count2+count3)*0.2);
对于您拥有的每个$('#testTextarea').textareaCount()
,您可以在此jsfiddle
答案 1 :(得分:1)
您的第一个问题是,您没有存储各个文本区域字段中的分数,因此您没有为总分添加值。开始存储此数据后,您只需在任何单个分数发生变化时更新总分数区域。
看看这个小提琴:http://jsfiddle.net/NFDQ3/6/
答案 2 :(得分:1)
保留数组中可用于计算总和的每个Textfield的计数。
我已编辑了您的代码,请参阅此处的演示:http://jsfiddle.net/yZb7w/38/
答案 3 :(得分:0)
另一个解决方案是拥有类似的东西:
$('#testTextarea3').textareaCount(options3, function(data){
$('#showData3').html("You have typed <b>" + data.words + "</b> words. Points per word : <b> 0.2</b>. Estimated point: <b>" + (0.2 * data.words) +"</b>");
$(this).data("points",(0.2 * data.words));
});
这将存储每个testTextarea的点值。您要做的下一步是使用totalScore textarea或某些组件的某些更新行为,并从所有textAreas得到存储的提取,如:
$('#testTextarea3').data("points");
答案 4 :(得分:0)
您可以从getInfo
内部触发事件,然后从插件外部绑定到该事件,以从每个文本区域获取更新的计数。然后,这只是跟踪每个计数并将它们相加的问题。请参阅jsfiddle(信息对象将记录到控制台)。