所以我有一个 php 循环,我使用 jquery 滑动切换来隐藏/显示带有 sql 结果的表。目前该表仅使用 php 加载,但由于发生了很多事情,导致了一些加载问题,我需要使用滑动切换 btn 来触发 ajax,因此它仅在按下按钮时请求当前项目的详细信息。我可以让它从 jquery 调用 php 文件,但我很难传递每个项目的值,因此它可以在数据库上执行请求。这是 php foreach 循环内容的样子;
<span class="searchitem">
// some visible content here
<span value="item name" class="btn">button</span>
<span class="slide_area">
// hidden slide content ajax needs to populate with php result
</span>
</span>
这个html是重复的我使用jquery sliptoggle来隐藏slide_area,我需要做的是用php的结果填充slide_area,php文件需要名称来返回结果名称是通过url通过get传递的,所以我只需要在 url 后面附加 btn 值的实际名称,我确信这不会那么困难,但我在这里。
这是jquery:
<script type="text/javascript">
//<![CDATA[
$(document).ready(function ()
{
$('.searchitem').each(function () {
$(this).find('.slide_area').hide();
$(this).find('.btn').click(function ()
{
var ajax_load = "<img src='images/spinner.gif' style='width:50px;' alt='loading...' />";
var loadUrl = "ajax/item.php?name=";
var loadName = $(".btn");
var Name = URLEncode(loadName);
var loadString = loadUrl + Name;
$(this).parent().find('.slide_area').slideToggle(1500).html(ajax_load).load(loadString);
});
});
});
//]]>
</script>
我需要从 btn 获取值并附加 loadURL,如果需要,我愿意以不同的方式发送数据,例如通过帖子,更新了 jquery 仍然不起作用,我在这里做错了什么?
Thanks.
最简单的方法是使用 Phery 库http://phery-php-ajax.net/ http://phery-php-ajax.net/这里的关键是data-phery-remote="toggle"
单击时将自动调用 PHP 函数,并且可以在任何地方重用
<span class="searchitem">
// some visible content here
<span value="item name" data-phery-remote="toggle" class="btn">button</span>
<span class="slide_area">
// hidden slide content ajax needs to populate with php result
</span>
</span>
逻辑是相反的,负载将仅通过一次 AJAX 调用而不是两次来发生。
Phery::instance()->set(array(
'toggle' => function($data){
$r = new PheryResponse;
/* do your code, fill $html_content */
$r->this()->siblings('.slide_area')->html($html_content)->toggle();
return $r;
}
))->process();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)