我目前正在使用JQuery Ajax来检索和显示一些数据,如下所示。
/* PHP to select data and create Unordered list */
<?php
echo "<ul class=\"ctyul\">";
while ($rowC = mysql_fetch_array($result))
{
echo "<li class=\"ctyli\"><a href=\"#"."&" .rawurlencode($rowC['PLAN']) ."\"" .">" . $rowC['PLAN'] . "</a></li>";
};
echo "</ul>";
?>
/* JQuery to select the li of obove list */
$('Div.ctydiv ul.ctyul li.ctyli').click(function(){
urlqueryC = location.href;
urlpartsC = urlqueryC.split('&');
urlcounty = urlpartsC[1];
$.ajax({
url: 'php/cpdetails.php?search-n='+urlcounty,
success: function (data) {
$('#Pinfo').html(data);
}
});
当用户点击List项时,它将$ row [Plan]附加到url,然后我使用附加的'PLAN'名称来检索带有另一个PHP脚本的数据集(cpdetails.php?search-n = urlcounty)并在div中显示数据。
这一切都有效,但需要两次点击才能显示数据,第一次是将“PLAN”名称添加到网址,第二次点击会显示数据。
我想一键完成。
如何在不使用url作为传递PLAN名称的方式的情况下,将$ row [Plan]名称输入Ajax调用。
答案 0 :(得分:2)
将点击处理程序附加到链接并获取href
属性:
(更好的HTML)
<ul class="ctyul">
<?php while(($rowC = mysql_fetch_array($result))): ?>
<li class="ctyli"><a href="#<?php echo rawurlencode($rowC['PLAN']) ?>"><?php echo $rowC['PLAN'] ?></a></li>
<?php endwhile; ?>
</ul>
和JS:
$('Div.ctydiv ul.ctyul li.ctyli a').click(function(e){
e.preventDefault();
urlcounty = $(this).attr('href').substr(1);
$.ajax({
url: 'php/cpdetails.php?search-n='+urlcounty,
success: function (data) {
$('#Pinfo').html(data);
}
});
});