Jquery第一次没有更新.val?

时间:2011-07-13 12:54:49

标签: javascript jquery

我一直在这个网站上做预订表格。 http://offline.raileisure.com/

如果您填写右侧的预订表格..点击附加内容并添加一些额外内容

点击获取价格以获取弹出窗口...

你看到哪里说“基本住宿价格来了”

第一次它没有提高价格(虽然它设置了$('#bpriceinput')。val(数据);

如果您单击以取消弹出窗口并再次单击获取价格。 “基本住宿价格来自英镑”现在有价格...

IT只是不想第一次出现......是因为我更新得太近了窗口弹出?

我感到困惑,花了2个小时在这个愚蠢的小虫身上

非常感谢任何帮助

由于

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:1)

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

在POST请求的回调完成之前被触发。您应该在回调中添加此行。 此外,在您选择所有内容并再次点击日历之前,“获取价格”按钮将保持禁用状态。