页面跳转后返回上一页面记录上一页面select选定的值

这篇博客介绍了一个利用Cookie来实现页面跳转后记录并恢复页面中select选择值的方法。通过设置和读取Cookie,当用户返回上一页时,可以自动恢复之前选择的select选项。步骤包括引入jQuery和jQuery.cookie.js库,为selectUl li元素添加点击事件,点击时清除并设置Cookie,最后在页面加载时读取Cookie恢复选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上图为展示图

思路:cookie缓存记住当前页面select选中的值,再次返回时获取cookie的值即可

第一步:引入js;

<script src="js/jquery.min.js"></script>

<script src="js/jquery.cookie.js"></script>

第二步: 当点击其中一项时设置cookie缓存,首先先清除之前的缓存,(这里是动态获取的列表)

// 事件委托,li标签是自动生成的
var familyArr = [];
var groupId = 0;
var compId = 0;
$("body").on("click", ".selectUl li", function (){
familyArr = []; // 清空家属列表
$(".familyList").empty();
//console.log(familyArr);
    $(this).addClass("actived_li").siblings().removeClass("actived_li");//点击当前的添加。actived_li这个类;其他的移除这个类名
var oliName = $(this).attr("oliName");//定义一个name属性,获取点击的元素属性赋值到当前,方便动态化传值
var oliId = $(this).attr("oliId");//定义一个id属性,获取点击的元素属性赋值到当前,方便动态化传值
$(this).parent().prev().children().val(oliName); //把当前点击的name赋值到显示的input的val里面
$(this).parent().prev().children().attr("oliName",oliName);//把当前点击的oliName赋值到显示的input的oliName里面
$(this).parent().prev().children().attr("oliId",oliId);//把当前点击的oliId赋值到显示的input的oliId里面
    // 设置cookie缓存
    $.cookie('selectValName', null);   //先清除之前缓存,通过传递null作为cookie的值即可
    $.cookie('selectValId', null);
    $.cookie('selectValName', oliName, { expires: 7 });
    $.cookie('selectValId', oliId, { expires: 7 });
    // 设置cookie缓存尾部

    // id赋值
    groupId = oliId;// 组织id
    compId = $(this).attr("companyid");
    /*console.log('打印id');
    console.log(groupId);
    console.log(companyId);*/
    // 家属的拼接
    orgArr.forEach(function (item, index) {
if (oliId == item.Org.id) {
//var familyArr = [];
familyArr = item.family;
familyArr.forEach(function (n, index) {
if (n.familyPhoto !== null && n.familyPhoto !== "") {
// splitFamilyPhoto =  n.familyPhoto.split(".")[0]; // 截取图片
$('.familyList').append(
'<div class="b-fperson" fphoto="' + n.familyPhoto + '" fId="' + n.id + '" fName="' + n.familyName + '">'+
'<div class="b-imgBox">'+
'<img id="b-photo" src="' + preImg_url + n.familyPhoto + '" alt="" />'+
'</div>'+
'<div class="b-info">'+
'<p class="bf-name">' + n.familyName + '</p>'+
'<p class="b-fytip">已注册人脸</p>'+
'</div>'+
'<i class="b-arrow"></i>'+
'</div>'
);
} else {
$('.familyList').append(
'<div class="b-fperson" fphoto="' + n.familyPhoto + '" fId="' + n.id + '" fName="' + n.familyName + '">'+
'<div class="b-imgBox">'+
'<img id="b-photo" src="images/noLoad.png" alt="" />'+
'</div>'+
'<div class="b-info">'+
'<p class="bf-name">' + n.familyName + '</p>'+
'<p class="b-tip">待注册人脸</p>'+
'</div>'+
'<i class="b-arrow"></i>'+
'</div>'
);
}
});
};
});
// 家属的拼接尾

});

第三步: 页面加载时读取cookie

           var orgName = $.cookie('selectValName');
           var orgId = $.cookie('selectValId');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值