jquery - 使用jquery按需禁用一系列单选按钮

标签 jquery ruby-on-rails input radio-button

我正在尝试完成类似于Wikipedia's History的事情历史页面,动态禁用一系列单选按钮。

即...如果选择第二组中的#4,则禁用第一组中的 1-4,依此类推。

我知道如何单独或作为一个组禁用它们,但我不知道如何在一系列 1-4 中执行此操作:

个人:

$("#version_history input[id^=versions_2_3]:radio").attr('disabled',true);

或组:

$("#version_history input[id^=versions_2]:radio").attr('disabled',true);

输入被命名为 versions_1_X 和 versions_2_X,X 是某个数字。 1..2..3..等

我的最终目标是为该函数提供单击的单选按钮...然后禁用相反组的所有单选框(无论是在数字上方还是在数字下方)。

最佳答案

给定以下 HTML:

<div id="version_history">
   <div class="version_history_item">
       <input type="radio" name="original">
       <input type="radio" name="update">
       <span>description</span>
   </div>
   ...
</div>

一种可能的方法是:

function updateVersionRadioButtonAvailability() {

    var versionHistoryElement = $('#version_history'),
        originalIndex = $('input[name=original]:checked', versionHistoryElement).parent('.version_history_item').index(),
        updateIndex = $('input[name=update]:checked', versionHistoryElement).parent('.version_history_item').index(),
        visibleStyle = { visibility: 'visible' },
        hiddenStyle = { visibility: 'hidden' };

    $('.version_history_item', versionHistoryElement).each(function(index) {
        $('input[name=original]', $(this)).css(index > updateIndex ? visibleStyle : hiddenStyle);
        $('input[name=update]', $(this)).css(index < originalIndex ? visibleStyle : hiddenStyle);
    });

}

$(document).ready(function() {
    $('#version_history input[name=original], #version_history input[name=update]').live('click', updateVersionRadioButtonAvailability);
    updateVersionRadioButtonAvailability();
});

干编码,因此您的里程可能会有所不同。

关于jquery - 使用jquery按需禁用一系列单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2741697/

相关文章:

javascript - 为什么警报 AnchorElement (<a>) 会警报 href 属性?

javascript - 如何使图像随着 DIV 的变化而动态调整大小?

javascript - 使关键帧在单击时重新启动

ruby-on-rails - Rails 交易 : does it matter on which ActiveRecord model class?

css - 如何更改joomla必填字段红色

javascript - wp_head 在插件中不起作用

ruby-on-rails - 无法让 PayPal 加密网站付款在 Rails 中工作

ruby-on-rails - 跳过 : registration vs remove :registerable

c++ - 为什么我的排序方法不起作用?

python - 防止 Python 显示输入的输入