jquery - 如何使用 jQuery 根据保存的单选按钮选择进行切换?

标签 jquery

我有一个用户可以保存并返回进行编辑的表单。我对根据用户对上一个问题的回答切换 div 的表单有疑问。这些问题有多种类型。如果答案为"is",则应显示该问题的 div。

当前,div 正在表单加载上显示,而它们本应隐藏。

示例:http://jsfiddle.net/BbrwT/14/ (我设置了示例,因此问题一尚未得到解答,问题二已得到回答“否”)

<div>
    <label>Select #1:</label>
    <input type="radio" name="radio1" class="toggle" value="1">Yes
    <input type="radio" name="radio1" class="toggle" value="0">No
</div>

<div id="details">
   Details #1
</div>

<div>
    <label>Select #2:</label>
    <input type="radio" name="radio2" class="toggle" value="1">Yes
    <input type="radio" name="radio2" class="toggle" value="0" checked="checked">No
</div>

<div id="details">
   Details #2
</div>

Javascript:

$(document).ready(function() {

    if($('.toggle:checked').val() != 1){
        $(this).parent().next('#details').hide()
    }

    $('.toggle').on('change',function(){

        var showOrHide = ($(this).val() == 1) ? true : false;

        $(this).parent().next('#details').toggle(showOrHide);

    })  

});

最佳答案

不确定这是否是您想要的,但您可以将 change 方法链接到您的 change 处理程序 -

$('.toggle').on('change',function(){

    var showOrHide = false;

    $(this).siblings('input[type=radio]').andSelf().each(function() {
        if ($(this).val() == 1 && $(this).prop("checked")) showOrHide = true;
    })    

    $(this).parent().next('#details').toggle(showOrHide);

}).change()  

这应该在加载页面时调用 change 方法并隐藏逻辑状态应隐藏的任何内容。我还稍微改变了逻辑,因此也检查了同级单选按钮的值。

演示 - http://jsfiddle.net/sBErV/2/

关于jquery - 如何使用 jQuery 根据保存的单选按钮选择进行切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8274754/

相关文章:

javascript - 如何获取 Base 64 代码并将其存储在 cookie 中

setTimeout 函数中未定义的 JavaScript 变量

jQuery 选择器 - 除第一个之外的所有选择器

javascript - Jquery 在 Firefox 中工作,但在 Internet Explorer 中不工作

javascript - 为什么链式 filter() 调用会重新触发创建它的函数?

javascript - 淡入内容和淡出当前 Div?

当元素在 View 中时,Jquery 添加类

jquery - CSS 阻止折叠我的 DIV

javascript - 为什么我会看到重复的 JavaScript 异步响应?

选择同一文件时的 JQuery 更改事件问题