Jquery .post没有在popup div上工作

时间:2011-06-24 14:25:45

标签: javascript jquery ajax json

我最终在这个问题上花了好几个小时......

我有一个按钮,弹出一个按钮,该按钮也将数据填入div html部分......

一切正常,不起作用的是当我使用ajax发布到php文件并再次返回时......好吧它只能在第二次点击而不是第一次...

$.post("getprice.php", { unit: $('input[name=property]:checked').val() } ,function(data){
        $('#price').html(data);
     });

$timenow = time();
$unit=$_POST['unit'];
$query = "SELECT * FROM rl_pricing WHERE start_date < $timenow AND stop_date > $timenow AND unit=$unit";
$results = mysql_query($query);
$row = mysql_fetch_array( $results );
echo "Price: ".$row['3day'];

首次点击似乎无法正常工作......

在此页面http://offline.raileisure.com

点击获取价格按钮,它不会显示价格...点击即可再次点击它,它可以工作....

希望有意义

编辑:

所以代码确实做了它应该做的事情,但它只是在第一次点击时不起作用,但是在第二次......它与弹出式div有关...如果我让它更新同一页很好

3 个答案:

答案 0 :(得分:1)

第一次点击该按钮时,价格会添加到当前隐藏的位置:

<div id="info" style="display:none;">
<form action="lee.php" method="post">
<table cellspacing="0" cellpadding="0" border="0" align="center" width="75%">
<tbody>
<tr>
<td align="center" colspan="3">
<div id="extrasinfo"></div>
<div id="price">Price: 499</div>
<input id="btowelsinput" type="hidden" value="" name="btowelsinput">
<input id="bcotinput" type="hidden" value="" name="bcotinput">
<input id="bbouncyinput" type="hidden" value="" name="bbouncyinput">
<input id="bpetfeeinput" type="hidden" value="" name="bpetfeeinput">
<input id="boveroccinput" type="hidden" value="" name="boveroccinput">
</td>
</tr>
</tbody>
</table>
<input type="submit">
</form>
</div>

<强>更新

问题是,当你点击按钮时,有两个ID为“price”的HTML元素。这在HTML中是不允许的,您的代码会变得混乱。它将价格添加到具有该ID的第一个div而不是第二个(您期望的那个)。

更新2

从它的外观来看,应该显示价格的整个HTML细分在页面上重复。

答案 1 :(得分:0)

在Firefox 5和IE 9中它适用于我。您是否尝试过清除缓存?

如果你还没有火狐(here),我建议你下载Firebug。您可以轻松查看ajax调用。

另一个好的节目是Fiddler2(here

答案 2 :(得分:0)

使用萤火虫,我可以看到帖子被解雇了,响应又回来了499.

代码是否包含在ready函数中? $(function() { });