【发布时间】:2019-01-29 01:43:44
【问题描述】:
所以,这是我的问题 - 在我的进度滑块中,我有一部分页面要收集单击单选按钮的数据,并限制下一个的可能性,依此类推(持续四页),为此我使用了 onchange 命令,从 div 中选中的单选按钮的 id 中获取了一个数字,然后,在箭头单击命令上,我使用 .slice 命令获取值高于的按钮我之前选择的值,并用一个类禁用它们和它们的父级。现在,当我尝试使用 .click 而不是 .change 时,无论出于何种原因,click 事件都会在设置值之前触发,并且当页面翻转时,.slice 命令最终会使用旧值(默认为 0,因此slice 命令会切掉除第一个以外的所有选项),基本上,它会在页面切换后更新切值。
我正在使用我为我的 ASP.NET 学校网站的首选项部分制作的滑块(带页面),并希望这样当您可以单击每个页面中的单选按钮时,您可以转到下一页,而不是使用现有的箭头按钮,足够简单(我认为) - 只需这样做,当您单击标签时,单选按钮的父级(这就是它们在 Bootstrap 中的构建方式),触发点击右箭头的事件,但这会导致我之前提到的问题。
我尝试了一些方法来解决它-首先,我尝试将其放置在这些页面上禁用单击输入,将单击事件放在 onchange 事件中-这有效,但产生了一个单独的问题,值正在更新,但是无论出于何种原因,活动类都没有赋予父标签,这是一个巨大的问题,因为您可以使用箭头返回并更改值,而当您返回它时,您看不到它被选中,就像你可以看到其他单选按钮一样,我也尝试过组合它,但我所做的一切似乎都不起作用,地狱,我什至尝试在更改命令中提供活动类,但无济于事,唯一接近的是我忘记在箭头单击事件的 if 语句之一中添加 $ 的错误,修复错误或删除 if 语句使活动类在这些页面中不再工作,这太奇怪了......我也应该提到我还尝试将 .click 放在更改事件的末尾,在标签上使用 .click 我而不是 .change 等等..
第一个功能是锁定页面,直到用户按下单选按钮,第二个功能是单击单选按钮移动页面,第三个选项应该是如果您返回页面并想按相同的答案进入下一页(因为 .change 不会检测到它)
现在,它只使用第二个功能转到另一个页面 - 双击(仅在这四个页面上,在其他页面上完全正常),当然,箭头仍然可以使用。
帮助很大,非常感谢
【问题讨论】:
-
你不能改变触发事件的顺序;你需要重构你的代码。就其价值而言,从用户体验的角度来看,使用
radio按钮触发导航远不理想;我不清楚您为什么要这样做,但是切换到更多标准链接或按钮可能会使您遇到的问题消失。 -
@DanielBeck 所以你说我应该停止使用收音机作为导航并返回只使用箭头或改为使用收音机按钮,明白了,谢谢你的解释
标签: jquery