2011-07-13 87 views
2

我一直在這裏做這個網站的預訂表格。 http://offline.raileisure.com/jquery第一次不更新.val?

,如果你在右側的預訂表格,也可以點擊額外添加一些額外

點擊獲取價格得到彈出窗口...

你看,哪裏是說「基地住宿價格涉及到£」

那麼它第一次不會帶來價格上漲(儘管它設置$(‘#bpriceinput’)VAL(數據);

,如果你點擊即可消失彈出窗口並點擊獲得價格再來一次。 「基本住宿價格來£」現在有價格...

它只是不想出現第一次...是因爲我更新太靠近窗口彈出?

我感到莫名其妙,並花了2個小時這個愚蠢的錯誤

任何幫助將非常感激

感謝

+0

我實際上得到了一個 而不是磅標記。 – pimvdb

+0

我也第一次得到了正確的答案,然後第二次NAN(不使用相同的配置)。你有一個競爭條件(可能是由於你的ajax調用),或者你試圖做一些無效的事情(比如添加一個字符串)。我注意到,服務器響應(ajax調用)是'不適用'的一個方面 - 爲什麼會發生這種情況? – calumbrodie

+0

奇怪的是,我會解決這個大錯誤之後:-) – Lee

回答

1

線546 $('#extrasinfo').html($('#extrasinfo').html() + "<br><br>Total for Extras comes to £" + extras + "<br>Base Accomodation Price comes to £" + $('#bpriceinput').val());

您的POST請求的回調完成之前被觸發。您應該在回調中添加此行。 此外,「獲取價格」按鈕保持禁用狀態,直到您選擇了所有內容並再次點擊日曆。

+0

我認爲這樣可以摧毀這個錯誤???它似乎已經完成了 – Lee

2

的問題是,AJAX調用時,這就是異步。與此同時,您正在設置'來... ...'文本,但數據尚未提供。

第二次,從第一次的數據是可用的,並顯示一個,所以它仍然不正確。

$.post("getprice.php", { unit: $('input[name=property]:checked').val() , date: $('#car').val() + $('#smh').val(), duration: $('input[name=duration]:checked').val() } ,function(data){ 

     $('#bpriceinput').val(data); 

     $('div[name=price]').html("Total Price: �" + ((parseFloat(data, 10) + extras)).toFixed(2)); 

     $('#btotalpriceinput').val(((parseFloat(data, 10) + extras)).toFixed(2)); 

    }); // <-- what if you move this line to the end of the calculation (i.e. line 551) 
+0

同意pimvdb。我建議在處理其餘部分之前,在post函數上添加一個成功回調。 –

+0

試圖......它擰緊了大的時間,它實際上停止了工作的總價格:-(如果你說的是真的,那麼總價格將不起作用,但它是......總價格使用基準價格 – Lee

+0

@jen - 不知道該怎麼做,或者如果需要的話......我認爲函數內部的命令會在帖子運行後運行嗎? – Lee