无需PHP,如何用JS或jQuery实现单选框选中状态在HTML页面间传递
实现方案
你可以通过sessionStorage完成跨页面单选值传递,以下是对应代码补全方案,同时提供原生JS和jQuery两种实现,你可以按需选择:
第一个页面(数据存储页)
补全saveSession函数即可实现选中值存储,需要跳转的话可以自行补充页面跳转逻辑:
function saveSession(){ // 原生JS实现 const selectedVal = document.querySelector('input[name="num"]:checked').value; // jQuery实现可选:const selectedVal = $('input[name="num"]:checked').val(); sessionStorage.setItem('selected_radio_num', selectedVal); // 可选:存储完成后跳转到第二个页面 // location.href = '你的第二个页面地址.html'; }
第二个页面(数据读取页)
补全type函数即可实现选中状态同步,同时可以直接补充禁用逻辑:
function type(){ const savedVal = sessionStorage.getItem('selected_radio_num'); if(!savedVal) return; // 没有存储值时不执行后续逻辑 // 1. 同步单选框选中状态 // 原生JS实现 document.querySelector(`input[name="num"][value="${savedVal}"]`).checked = true; // jQuery实现可选:$(`input[name="num"][value="${savedVal}"]`).prop('checked', true); // 2. 禁用所有单选框(如果你需要禁用表单的话) // 原生JS实现 document.querySelectorAll('input[name="num"]').forEach(input => { input.disabled = true; }); // jQuery实现可选:$('input[name="num"]').prop('disabled', true); }
注意事项
- 你当前用的纯数字id不符合HTML规范,建议将id调整为
num1、num2这类带字符前缀的格式,避免出现未知兼容问题 sessionStorage是会话级存储,关闭浏览器后数据会自动清除,如果需要长期保存可以替换为localStorage- 该方案仅在同域名下生效,跨域名场景需要改用URL参数、后端接口等其他传递方式
内容的提问来源于stack exchange,提问作者User not found
相关产品推荐
相关产品推荐

