【问题标题】:jquery show hide div but onchange it remember itjquery show hide div 但 onchange 记住它
【发布时间】:2015-11-19 18:39:52
【问题描述】:

我在表单中使用 jquery 来选择一些选项,当单击单选按钮时,它会显示一个带有选项的新 div,等等 4 个 div。

示例:我单击“Spreekwooden”,打开一个名为“niveau”的 div,当我单击此处一个单选按钮时,它打开“vraagstelling”,在这里我还单击一个单选按钮。

现在我不想要这个并选择 Woordenschat。 这必须打开“niveau”->“vraagstelling”->“groep”。 但是当我这样做时,它会记住我之前所做的操作并立即打开所有 div 并记住我之前点击的单选按钮。

当我从“onderdeel”更改脚本不记得单击的单选按钮并且我之前打开过 div 以便再次单击单选按钮时出现 div 时,我该如何实现?

我把代码放在这里:

[https://jsfiddle.net/gryjjxct/2/][1]jsfiddle[1]

【问题讨论】:

  • id 为“groepen”和“niveau”的元素在哪里??
  • 您的代码有点不清楚,有些代码缺失,请在相关代码中包含
  • 完整代码可以在这里找到:jsfiddle.net/gryjjxct/2

标签: javascript jquery


【解决方案1】:

您可以使用一点 jquery - removeAttr("checked") - 每次选择一个选项时清除单选:

 $('input[name=onderdeel]').click(function () {

     if (this.id == "show_groepen") {
         $("input[name=vraagstelling]").removeAttr("checked");
         $("#niveau").hide();
         $("#vraagstelling").hide();
         $("#groepen").show('slow');
     } else {
         $("#groepen").hide('slow');
     }

     if (this.id == "show_niveau") {
         $("input[name=vraagstelling]").removeAttr("checked");
         $("#niveau").hide();
         $("#vraagstelling").hide();
         $("#niveau").show('slow');
     } else {
         $("#niveau").hide('slow');
     }
});

【讨论】:

  • 这只会清除单选按钮我还希望脚本不记得我在更改“onderdeel”之前打开过它
  • 您在问题中的代码不完整,但我已经猜测了要隐藏哪些其他 div。
  • 我知道这就是为什么我把完整的代码放在这里:jsfiddle.net/gryjjxct/2
【解决方案2】:

我确实对脚本做了一些小改动。 现在“onderdeel”中的前 3 个选项工作正常。 最后 2 个不正确,因为按钮已被选中。

此外,当我从最后一个“woodenschat”返回到第一个“spreekwooden”时,它会显示所有 div,但我不知道为什么

我需要哪些代码才能使脚本正常工作? 当之前在“woodenschat”中使用 div 时,我希望脚本像我回到“spreekwooden”时从未使用过的那样工作。

这是我的更新版本:jsfiddle.net/gryjjxct/4/

【讨论】:

    猜你喜欢
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    • 2015-09-04
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    相关资源
    最近更新 更多