2012-03-23 65 views
2

我想給根據他們的文章字數統計提交文章的用戶提供點數。有人可以幫助我在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 noob。所以我不確定我應該調用哪個變量。

這是jfiddle代碼,我到目前爲止。

有人可以幫助我嗎?由於

+1

好,一個選項是連接從文本字段(用空格分隔)所有輸入,然後從該字符串計算得分。如果所有文本區域的每個單詞有相同的點數,這將起作用 – 2012-03-23 14:58:21

回答

1

你的第一個問題是,你沒有存儲單個文本區域字段的分數,所以你有n o值總計爲總分。開始存儲這些數據後,只需在任何單個分數發生變化時更新總分數區域。

看看這個小提琴:http://jsfiddle.net/NFDQ3/6/

+0

真棒..還有一件事。當乘以3 x 0.2時,我會看到0.6000000000000001。你能告訴我如何解決這個問題嗎?我只想要0.6。非常感謝 – user1091558 2012-03-23 15:02:41

+0

修正在這裏:http://jsfiddle.net/NFDQ3/5/ - 你只需要格式化數字,我用myNumber做。toFixed(2)將其保留至小數點後兩位。只需將該參數更改爲1即可獲得像您想要的一位小數位 – csturtz 2012-03-23 15:08:02

+0

但我仍然在您的文件中看到0.6000000000000001。 :( – user1091558 2012-03-23 15:11:12

2

你可以聲明一個變量來保存每個字計數的值(初始化爲0):

var count1 = count2 = count3 = 0; 

然後像做:

count1 = data.words; 
$('#showData4').html((count1+count2+count3)*0.2); 

對你有每個$('#testTextarea').textareaCount(),正如你可以看到這jsfiddle

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文本區域或某些更新行爲的一些成分和提取像所有文字區域存儲的得分:

$('#testTextarea3').data("points"); 
0

你可以從裏面getInfo觸發一個事件,然後綁定到從該事件在你的插件外部從每個textarea獲取更新的計數。然後,這只是跟蹤每個計數並將其加起來的問題。請參閱jsfiddle(信息對象將被記錄到控制檯)。

1

保持數組中每個文本字段的計數,您可以使用它來計算總和。

我已經編輯你的代碼,在這裏看到的演示:http://jsfiddle.net/yZb7w/38/

+0

感謝您的回答,當乘以3 x 0.2時,我會看到0.6000000000000001。告訴我如何解決這個問題?我只想要0.6。非常感謝 – user1091558 2012-03-23 15:05:10

相關問題