单击复选框获取单选按钮的值

时间:2014-06-17 11:33:29

标签: jquery

所有

我有这个设置。现在它需要修改。

  1. 当页面首次加载时,其中一个单选按钮被预先选择,例如。全部遇见或全部未遇到或全部错过。现在,所有Met按钮都被选中了。
  2. 禁用所有单选按钮。选中该复选框后,应仅在文本区域中填充行ID,选中该行的单选按钮的值。(部分工作)
  3. 如果取消选中该复选框,则需要删除先前选中复选框时填充的值。(不起作用)
  4. 如果用户选择了另一个单选按钮(选中复选框后),则需要更新该值。(作品)
  5. 当选择缺少单选按钮时,显示文本字段并且需要更新输入的值。 (引发未定义)
  6. 我做了很多但事情没有用。

    大师可以帮助,再次非常感谢吗?

    Fiddle Here

    $("input:radio").hover(function () {
    $(this).prev('.r-title').show();
     }, function () {
    if (!$(this).is(':checked')) {
        $(this).siblings('.r-title, .m-notes').hide();
    }
     });
    
    //Radio Buttons
    
    $("input:radio").click(function () {
    $(this).parent().parent().find('.r-title, .m-notes').hide();
    var totalRd = $('table').find('input:radio:checked').length;
    var clicked = [];
    $("#totalRd .rd-count").html(totalRd); //Counts the radio buttons clicked
    $(this).siblings('.r-title, .m-notes').show();
    $('table').find("input[type=radio]:checked").each(function () {
    var selectedId = $(this).parent().parent().attr('id');
    var newVal = ($(this).next('.m-notes:visible').length) ? this.value + "~" +                $(this).next('.m-notes:visible').val() : this.value;
    clicked.push(selectedId + "~" + newVal);
     }); //checked
    $("#inputhere").val(clicked.join('|'));
    });
    
    //Input Field for Missing Radio Button
    
    $('.m-notes').keyup(function () {
    var $self = $(this);
    var clicked = [];
    $('table').find("input[type=radio]:checked").each(function () {
        var selectedId = $(this).parent().parent().attr('id');
        var newVal =  this.value + "~" + $(this).next('.m-notes').val();
        clicked.push(selectedId + "~" + newVal);
    }); //checked
    $("#inputhere").val(clicked.join('|'));
    });
    
    //CheckBox
    var clicked=[];
    $("input:checkbox").change(function(){
    $(this).parent().parent().find("input[type=radio]").prop('disabled',!this.checked);
    });
    

2 个答案:

答案 0 :(得分:4)

使用此功能,您可以在选中/取消选中复选框中获取所选无线电的值:

$("input:checkbox").change(function(){
    $(this).parent().parent().find("input[type=radio]").prop('disabled',!this.checked);

    $("#inputhere").val("");
    $(".chkBx").each(function(){
        if($(this).prop("checked")){
            var txtVal = $(this).parents("div").eq(1).find("input[type='radio']:checked").val();
            var idRowVal = $(this).parents("div").eq(1).attr("id");
            var textboxPrevValue = $("#inputhere").val();
            var textAndIdVal = textboxPrevValue + txtVal + " " +  idRowVal + " ";
            $("#inputhere").val(textAndIdVal);
        }
    });

});

fiddle

答案 1 :(得分:1)

您必须在条件

中添加此内容
$(this).parents("div").eq(1).find("input[type='radio']").val();//add this