有人可以帮助我添加jquery吗?

时间:2012-03-23 14:43:28

标签: javascript jquery

我想对根据文章字数提交文章的用户给予分数。

但是我的页面有很多文本区域字段。让我们说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代码。

有人能帮助我吗?谢谢

5 个答案:

答案 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(信息对象将记录到控制台)。