我正在使用Mysql+PHP循环创建链接,但我需要在url href中添加一个javascript var,如:
javascript变量在jquery cookie中:$.cookie('limit')
urls.php:
<a href='page.php?id=1&limit=$.cookie('limit')'>1</a>
<a href='page.php?id=2&limit=$.cookie('limit')'>2</a>
<a href='page.php?id=3&limit=$.cookie('limit')'>3</a>
在这种情况下,将javascript var放入隐藏输入中是不起作用的。
在我的page.php中,我需要在mysql查询中同时使用vars(id和limit)。因此,将这个javascript var插入page.php的隐藏输入中。无论如何,php都无法工作。
我试图从href-url中删除限制var,并将其添加到我的page.php上,但没有成功:
if(!empty($_REQUEST['limit']){
$_REQUEST['limit'] = "<script type='text/javascript'>document.write($.cookie('limit'))</script>";
}
您没有将变量正确地放入php中。使用您的代码,您只需在字符串中写入limit。您需要将变量连接到这样的字符串:
if(!empty($_REQUEST['limit']){
$limit = "<script type='text/javascript'>document.write('".$_REQUEST['limit']."')</script>";
}
如果限制被传递到您正在构建链接的页面中,那么您可以像前面提到的那样通过$_REQUEST变量获取该数字。然后,您可以在该页面的逻辑中编写一个for循环,以创建所需数量的链接。在这个循环中,你可以构建这样的东西来将url回声到页面上:
echo "<a href='page.php?id={$i}&limit=jscriptVar'>{$i}</a>"
将链接更改为:
<a href='page.php?id=1' class='changeMe'>1</a>
<a href='page.php?id=2' class='changeMe'>2</a>
<a href='page.php?id=3' class='changeMe'>3</a>
添加这样的javascript:
$(document).ready(function(){
$('a[class="changeMe"]').each(function(){
var newHref = $(this).attr("href") +"&limit="+ $.cookie('limit');
$(this).attr("href", newHref);
});
});