2015-11-03 114 views
0

有沒有人知道計算包裝樣式格式中複選框/選擇值總數的最佳方法?用複選框計算總數並選擇下拉列表

例如:

我在50£選擇網站,總£50 我在15£選擇標誌,總是現在£65 我從許可證(£5各自)選擇2總共現在£75

我有這個小提琴到目前爲止:https://jsfiddle.net/ctvgqq0h/其中有複選框功能我後,但我在選擇選項障礙失敗。

$('select#office').change(function() { 
    var number = $(this).find('option:selected').text(); 
    //alert(number); 
    add += number; 
}); 

任何人都可以指向正確的方向嗎?我瀏覽了各種資源。

+0

這是我明白,你想添加從下拉列表中選擇的數字?目前尚未發生。 – Beginner

回答

0

你與你已經得到的東西非常接近,只需要做幾件事。首先,當您在檢查函數中檢查下拉列表的值時,您不需要將其包裝在change事件本身中,只需通過像您這樣的元素onchange屬性來調用它爲複選框做了。

其次,你不需要$(this).find()作爲其在錯誤的範圍內,你可以逃脫$('option:selected')

三(!),該值你從下拉回落將是這將需要解析字符串到一個整數,這可以捕捉你在JavaScript,因爲它會經常試圖解析一個數字作爲基數8而不是基數10.

然後,你只需要乘以下拉列表中的值乘以你的成本之前添加。

一起看起來有點像這樣。

var number = $('option:selected').text(); 
    add += parseInt(number,10) * 5.00 

我還建議在您的下拉列表中添加一個0值,以避免任何特殊行爲。

Heres an updated fiddle

+0

啊,我明白了!我也不知道int數問題!謝謝Simon – DavidPottrell

+0

[關於parseInt問題的更多信息可以在這裏找到](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt)它只有在你有在你的字符串上領先0,新的實現不應該再這樣做,但是多年來它已經被足夠的開發人員抓住了,宣佈你的基數是一個很好的習慣。 –