发布于2026-07-11 阅读(0)
扫一扫,手机访问
在实际的Web开发中,经常会遇到这样的场景:用户需要从一组动态生成的时间选项里(比如医生的排班表)挑一个,然后通过一个统一的“下一步”按钮,跳转到对应的预约页面。这听起来不复杂,但真要做得干净利落,需要处理好三个核心点:单选高亮、阻止默认跳转、按钮触发定向跳转。下面是一套完整的、经过实战检验的实现方案。

本文介绍如何在 lara vel 项目中实现“单选时间槽 → 高亮标记 → 点击按钮跳转至对应预约链接”的交互流程,使用 jquery 动态绑定 href 并确保仅一个选项可被选中。
实际开发中,常需让用户从一组动态生成的时间选项(如医生排班)中选择一项,再通过统一的“下一步”按钮跳转至对应预约页面。核心需求有三点:单选高亮、阻止默认跳转、按钮触发定向跳转。以下为完整、健壮的实现方案。
Link 标签有个麻烦:点击它就会直接跳转。要避免这种情况,可以在 onclick 里调用 event.preventDefault(),或者用更简洁的方式——在 onclick 里返回 false。下面这种写法逻辑清晰,也便于维护:
@foreach($doctor->tuesday as $tuesday) {{ date('g:i a', strtotime($tuesday->starttime)) }} @endforeach
注意:这里去掉了冗余的 id="{{$tuesday->id}}"(因为循环中多个元素共用同一个 id 会导致 HTML 不合法),改用 data-id 属性来存储数据。href 直接写入完整路径,语义更清晰。return false 简洁地阻止了默认跳转行为。
需要确保三个要点:每次点击只让一个 带上 selected 类;记住当前选中项的 href;让“Proceed to Pay”按钮动态更新 href,并且能够正常跳转。
把按钮改成一个标准的 标签,它的 href 由 Ja vaScript 动态控制,不需要额外写 onclick="submit()",因为点击链接就会自动触发跳转。
几个关键细节需要留意:
- 初始 href 使用
ja vascript:void(0),避免意外跳转;- 添加 disabled 类(配合 CSS 显示灰化状态),让用户知道还没选好;
- 一定不要保留内联的 onclick="submit()"——跳转由 href 自动触发,不需要手动调用 window.location;
- 如果怕无 Ja vaScript 场景,可以补充服务端 fallback,比如用表单 POST + hidden input 兜底。
.timing.selected { background-color: #007bff; color: white; border-radius: 4px; }
$('.submit-btn').on('click', function(e) {
if (!$(this).attr('href') || $(this).attr('href') === 'ja vascript:void(0)') {
e.preventDefault();
alert('Please select a time slot first.');
}
});
url('/fixschedule/...') 生成路径,Lara vel 会自动处理 CSRF 和路由生成,不需要额外防护。通过以上结构,你就能得到一个响应及时、逻辑清晰、符合 Web 标准的单选跳转交互。既满足了业务需求,又照顾了可维护性和用户体验。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8