根据同一类的一个唯一按钮更改单选按钮的值

时间:2017-05-08 16:00:13

标签: c# asp.net-mvc

我有一张桌子,想象一列基于单选按钮输入,有两个选项:是和否。

该列的所有输入属于同一类。

现在,我希望如果任何行将值设置为“是”,则列的每个输入都将设置为“是”,如果任何值设置为“否”,则所有单选按钮将被设置为“否”。

因此,最后,该列的任何输入都将更改输入的其余值。

2 个答案:

答案 0 :(得分:1)

执行您正在寻找的内容的一种方法如下:

  1. 为每个标识其所选状态的单选按钮添加一个CSS类。
  2. 添加一些按钮,单击这些按钮时,会将上述类的所有单选按钮设置为特定状态。
  3. 添加一些JavaScript来挂钩按钮。
  4. 所以第1步:

    @Html.RadioButtonFor(x => x.SomeProperty, "Yes", new { @class = "radio-yes" })
    @Html.RadioButtonFor(x => x.SomeProperty, "No", new { @class = "radio-no" })
    

    第2步:

    这些不一定是按钮 - 它们可以是你提到的单选按钮 - 但你明白了。最重要的是能够识别它们并附加一个函数来处理点击事件。

    <button id="yes-to-all" type="button">Set all to Yes</button>
    <button id="no-to-all" type="button">Set all to No</button>
    

    第3步:

    $(function () {
        $('#yes-to-all').click(function () {
            $('.radio-yes').prop('checked', true);
        });
        $('#no-to-all').click(function () {
            $('.radio-no').prop('checked', true);
        });
    });
    

答案 1 :(得分:1)

另一种可能性是检查点击的任何单选按钮(即输入)的值和类:

HTML表格:

<script> 
$('input:radio').click(function()
{
    var $radios = $('input:radio');
    var checkedValue = $(this).val();
    alert(checkedValue);
    var checkedClass = $(this).attr('class');
    alert(checkedClass);
    $radios.filter('[value=' + checkedValue + ']').filter('[class=' + checkedClass + ']').prop('checked', true); 
});
</script>

脚本块:

List<String> list = Arrays.asList("hello");