我想根据复选框元素 .avflipswitch
的当前状态更新 PHP 变量 $LinkOpen
。
基于 .avflipswitch
复选框状态,我想在 '_blank'
和 '_self'
这样我就可以将该值推送到我的 Google CSE 链接目标属性。
到目前为止我已经尝试过:
$('.avflipswitch').on("change", function (e){
if(this.checked){
functionOne(<?php $LinkOpen = '_blank';?>);
}
else{
functionTwo(<?php $LinkOpen = '_self';?>);
}
});
<gcse:searchresults-only linktarget="<?php echo $LinkOpen;?>"></gcse:searchresults-only>
最佳答案
您可以使用 JavaScript 或 jQuery 将值推送到 cookie,然后让 PHP 从该 cookie 中检索值,如下所示:
JavaScript + PHP:
/* JavaScript */
const switch = document.querySelector(".avflipswitch")[0];
switch.addEventListener("change", function(){
let blankTar = "_blank";
let selfTar = "_self";
if(this.checked){
document.cookie = "target =" + blankTar;
window.location.reload();
}
else{
document.cookie = "target =" + selfTar;
window.location.reload();
}
}
/* PHP */
<gcse:searchresults-only linktarget="<?php echo $_COOKIE['target']; ?>"></gcse:searchresults-only>
jQuery + PHP:
/* jQuery */
$('.avflipswitch').on("change", function (){
let blankTar = "_blank";
let selfTar = "_self";
if(this.checked){
document.cookie = "target =" + blankTar;
window.location.reload();
}
else{
document.cookie = "target =" + selfTar;
window.location.reload();
}
});
/* PHP */
<gcse:searchresults-only linktarget="<?php echo $_COOKIE['target']; ?>"></gcse:searchresults-only>
关于javascript - 如何使用 JavaScript/jQuery 编辑 PHP 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54079448/