我有这个正常的链接
<a href='#'>Click Me</a>
我有一个类似下面的数组
$values = ['a', 'b', 'c', 'd'];
$first = current($values);
我要做的是,每次点击链接时,属性值会更改为下一个数组值,从a到b到c到d如果结束,则再次 a ,
取决于获取请求 $_GET['order'];
如何使用 JQuery 或 PHP 来实现这一目标。
我试图做的是
$current = $_GET['order'];
if(isset($current)){
if(in_array($current, $values)){
$link = next($values);
echo "<a href='$link'>Click Me</a>";
} else {
echo "<a href='$first'>Click Me</a>";
}
} else {
echo "<a href='$first'>Click Me</a>";
}
$_GET['order'] == 'a';
$link
<a href='b'>Click Me</a>
将变为df.groupby('member_id')['domain'].agg(' -> '.join)
等等。
答案 0 :(得分:0)
您可以使用JQuery(阅读评论以获得解释):
var values = ['a', 'b', 'c', 'd', 'e'];
//We need to get the value of our $_GET['order'], let's parse our current location url
var get_vars = [];
location.search.replace('?', '').split('&').forEach(function(pair){
pair_arr = pair.split("=", 2);
get_vars[pair_arr[0]] = pair_arr[1];
});
//Now let's init the curent index equal to our $_GET['order'] (TODO: error checking/handleing)
var cur_index = values.indexOf(get_vars['order']);
//Now let's init the link value
$('#link').attr('href', '?order='+values[cur_index]);
$('#link').on('click', function(){
if(cur_index + 1 >= values.length){
cur_index = 0;
}else{
cur_index++;
}
$(this).attr('href', '?order='+values[cur_index]);
});
在html中,您当然需要为您的链接提供ID:
<a href='#' id="link">Click Me</a>
在PHP ..或您的网址中...您将需要提供GET var:
<?php
/* TEST */
$_GET['order'] = 'a';
?>
注意:这个链接实际上永远不会带你到任何地方......它只会更新GET变量......它必须进行修改才能真正做一些更实用的事情。