【问题标题】:Get specific div after finding a checked radio button找到选中的单选按钮后获取特定的 div
【发布时间】:2015-12-11 21:33:12
【问题描述】:

我在一个页面上有几个单选按钮(大约 30 个左右),其中一些单选按钮具有切换 div 的事件(显示/隐藏)。 我试图让在编辑表单时(使用数据库中的数据),如果选择了单选按钮,则无需单击即可显示相关的 div。

我尝试过的代码和示例 html

HTML

<div class="form-group">        
    <div>
        <input type="radio" value="yes">Yes
        <label>
        <input checked="checked"  type="radio" value="No">No</label>
    </div>
</div>

<div class="form-group">       
    <div class="col-xs-3 input-group">
        <input id="buttonToHideThis" onclick="showDiv(this, showThis)" checked="checked" type="radio" value="yes">Yes
        <input onclick="showDiv(this, hideThis)" type="radio" value="no">No
    </div>
</div>

<div class="showThis" style="display: none;">
    <div class="form-group">            
        <div class="col-lg-3 input-group">
            <input id="test" type="text">
        </div>
    </div>
</div>

Javascript

var $rButtons = $('input[type="radio"]');

$.each($rButtons, function () {
    var value = $(this).attr('value');

    if($(this).is(':checked') && value == 'yes'){
       $(this).closest('div').css('background-color', 'green');
    }
});

我无法让 div "showThis" 在文档准备好时检查 "buttonToHideThis" 时显示。任何帮助将不胜感激。

【问题讨论】:

    标签: jquery html css


    【解决方案1】:

    您可以循环浏览刚刚选中的按钮

    var checked_button = $('input[type="radio"]:checked');
    checked_button.each(function(){
        if($(this).val() == 'yes'){
           $(this).closest('div').css('background-color', 'green');
        }else{
           $(this).closest('div').css('background-color', 'red');
        }
    });
    

    Working Demo

    【讨论】:

    • 您的解决方案与我已经尝试过的相同。使用该方法只会更改单选按钮本身周围的 div。我正在尝试更改以下两三个级别的 div .. 具有“showThis”类的 div。
    • @Makten 你应该提供完整的 html 结构 .. 让我们知道包含单选按钮的 div 和你定位的 div 之间的关系
    • @Makten jsfiddle.net/mohamedyousef1980/9tb452fw/4 这是你的结构吗??如果是,这是一个演示。如果不是,请使用您的代码更新 Jsfiddle
    • 您的 jsfiddle 示例类似于我的 html 结构
    • @Makten 所以 jsfiddle 中的 js 代码应该适合你
    猜你喜欢
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    • 2016-08-30
    • 2017-07-15
    • 2011-05-24
    • 2016-08-30
    相关资源
    最近更新 更多