【问题标题】:How to keep a hidden div shown?如何保持隐藏的div显示?
【发布时间】:2013-01-06 18:03:06
【问题描述】:

我有这个用于单选框的 jquery 片段,我说如果单击了属于此类且具有此 ID 的单选框,则显示此隐藏的 div。问题是,当您刷新页面时,仍然单击单选框,但隐藏的 div 不显示。它仅显示我是否单击了不同的单选框,然后单击返回到被单击的原始单选框。

这是我正在使用的 javascript:

$(function(){     
    $('.display').click(function(){
        if ($(this).attr("id") == "rows"){
            $('.section').show();
        } else {
            $('.section').hide();
        }
    });
});

以下是我从中获取这段 javascript 的示例,向您展示了一个工作示例。 Working Example

现在,如果这是一个表单,并且您单击了报价 2,然后保存了表单并返回到该页面,那么隐藏的 div 将不会显示。只要始终单击该单选框,我如何让它显示 div?

注意:示例使用jquery 1.5.1,我使用的是最新版本的jquery。

应该注意,如何保存单选框并不重要,单选框用户选择已保存,因此在页面刷新时,用户选择的单选框仍然“选中”。然后应该显示隐藏的 div - 但是没有。

仅当我选择不同的单选框然后返回到最初选择的单选框时才会显示。请参阅上面的工作示例以了解当您选择单选框时隐藏的 div 是如何显示的。

如果选择了单选框,我希望始终显示此 div。

【问题讨论】:

  • 不确定你在问什么。您想知道如何使用 JavaScript 保存用户的选择吗?当我刷新页面时,收音机不会保持选中状态。
  • 页面刷新后如何选择电台?您是否将其存储在服务器上并将其发送回?您是否将该信息存储在本地存储/cookie 中?
  • 添加了更多信息。请参阅 OP。
  • " 在页面上刷新用户选择的单选框仍然"选中"这是我认为最重要的代码部分。
  • 在页面加载时检查点击的单选按钮,如果它被选中则模拟点击

标签: jquery forms radio-button show-hide hidden


【解决方案1】:
$(function(){     

    // your function
    $('.display').click(function(){
        if ($(this).attr("id") === "rows"){
            $('.section').show();
        } else {
            $('.section').hide();
        }
    });

    // initial check
    if ($('input:radio:checked').attr('id') === "rows") {
        $('.section').show();
    }

});

如果页面上有多个单选按钮,则需要向 jQuery 选择器添加一个标识符。您可以像这样使用输入字段的名称:

$('input[name=myradiobutton]:radio:checked')

【讨论】:

  • 这个问题,名字总是这样的:name[value];
  • 所有单选按钮输入(用于此分组)应具有相同的名称属性。例如,如果您有汽车的单选选项,则每个输入字段的选项名称将为 name="car"。但是每个人的值会有所不同,value="ferrarri"value="porsche"value="laborghini" 等。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多