我一直在尋找解決我的問題,但沒有運氣,但在線。我希望有人能夠通過我碰到的這個障礙,或者指引我朝着正確的方向前進。如何計算使用jQuery的輸入字段的總成本?
我正在爲玩家創建一個在線註冊表單。到目前爲止,當我使用jQuery的datepicker選擇出生日期時,它會根據我設置的特定日期返回用戶的正確年齡。我使用switch語句根據所選年齡在網頁上顯示正確的分部名稱和價格值。
到目前爲止,所有工作似乎都正常。
我現在的問題是,我似乎無法瞄準每個價格的價值,以創建一個函數,將總價格加起來。從我的PHP文件中獲取
HTML部分:從我的PHP文件中獲取
<div>
<div>
<label for="player-birthdate-1">Birthdate</label>
<input type="text" class="default-input" id="datepicker1" value="">
</div>
<div>
<label for="player-division-1">Division</label>
<input type="text" id="playerDivision1" value="" disabled>
</div>
<div>
<p id="playerFee1" class="fee" value=""></p>
</div>
</div>
<div>
<div>
<label for="player-birthdate-2">Birthdate</label>
<input type="text" class="default-input" id="datepicker2" value="">
</div>
<div>
<label for="player-division-2">Division</label>
<input type="text" id="playerDivision2" value="" disabled>
</div>
<div>
<p id="playerFee2" class="fee" value=""></p>
</div>
</div>
<div>
<p id="total" value=""></p>
</div>
部分,其中我從數據庫中抓取部門名稱和價格:
<script>
var divisions = {
<?php
$sql = $db->prepare("SELECT * FROM division");
$sql->execute();
$results = $sql->fetchAll(PDO::FETCH_OBJ);
foreach ($results as $division) :
?>
'<?php echo $division->division_id; ?>' : {
id : '<?php echo $division->division_id;?>'
,name : '<?php echo $division->division_name;?>'
,price : '<?php echo $division->division_price;?>'
},
<?php endforeach; ?>
}
</script>
取自我的js文件的日期選擇器和總費用代碼:
$(document).ready(function() {
$('#datepicker1').datepicker({
onSelect: function(value, ui) {
var newDate = new Date("April 30, " + (new Date()).getFullYear()),
dob = $("#datepicker1").datepicker("getDate"),
age = new Date(newDate - dob).getFullYear() - 1970;
$('#age').val(age);
console.log(age);
switch (age){
case 5:
case 6:
$("#playerDivision1").val(divisions['1'].name);
$("#playerFee1").html(divisions['1'].price);
break;
case 7:
case 8:
$("#playerDivision1").val(divisions['2'].name);
$("#playerFee1").html(divisions['2'].price);
break;
//continues on for the remaining of the ages.....
},
changeMonth: true,
changeYear: true,
dateFormat: 'yy-mm-dd',
yearRange: '1990:2012'
});
$('#datepicker2').datepicker({
onSelect: function(value, ui) {
var newDate = new Date("April 30, " + (new Date()).getFullYear()),
dob = $("#datepicker1").datepicker("getDate"),
age = new Date(newDate - dob).getFullYear() - 1970;
$('#age').val(age);
console.log(age);
switch (age){
case 5:
case 6:
$("#playerDivision2").val(divisions['1'].name);
$("#playerFee2").html(divisions['1'].price);
break;
case 7:
case 8:
$("#playerDivision2").val(divisions['2'].name);
$("#playerFee2").html(divisions['2'].price);
break;
//continues on for the remaining of the ages.....
},
changeMonth: true,
changeYear: true,
dateFormat: 'yy-mm-dd',
yearRange: '1990:2012'
});
$('.fee').html(function(){
var total = 0;
$('.fee').each(function(){
var fee = parseFloat($(this).val());
if (isNaN(fee)) {fee = 0;}
total+= fee;
$('#total').html('$' + total);
});
});
});
我期待來自論壇上的人的建議。任何幫助或推動正確的方向非常感謝! :)
代碼的當前行爲是什麼? – ggreiner 2012-02-04 20:07:24
檢查這個http://stackoverflow.com/q/2417553/1164491 – Cheery 2012-02-04 20:26:12
@ggreiner - 你是指當我選擇出生日期時發生了什麼?如果是這樣,它將在不同的輸入文本字段中顯示分部名稱和價格。我的問題是我沒有正確定位價值,因此我可能會將價格合計在一起。似乎顯示,但用它來添加時沒用。 – warr0032 2012-02-04 20:52:24