2015-11-01 52 views
1

我正在使用单选按钮。jQuery:单选按钮多维数组

<input type="radio" value="1" name="report[1][AP]"> 
<input type="radio" value="2" name="report[1][AP]"> 

<input type="radio" value="1" name="report[1][DCI]"> 
<input type="radio" value="2" name="report[1][DCI]"> 

<input type="radio" value="1" name="report[2][AP]"> 
<input type="radio" value="2" name="report[2][AP]"> 

<input type="radio" value="1" name="report[2][DCI]"> 
<input type="radio" value="2" name="report[2][DCI]"> 

如果报告[1] [AP]被选中然后报告[1] [DCI]也需要检查,或如果报告[1] [DCI]被选中然后报告[1] [AP]也应该检查。

类似地;

如果报告[2] [AP]被选中,那么报告[2] [DCI]也应该被检查,或者如果报告[2] [DCI]被选中,那么报告[2] [AP]也应该被检查。

我该怎么办?请帮忙!

我使用这样的:

$('input[type="radio"]').on('click', function(){ 
    var found = $(this).attr('name'); 
    var founds = found.substring(0, found.indexOf(']'))+"]"; 
    $("input[type="+founds+"]").prop('required',true); 
}); 

错误:语法错误,不能识别的表达式:输入[类型= report_time [1]]

+0

“也应该检查”...手段应该是“请求IRED”。必须检查。 –

回答

0

尝试是这样的..

$('input[type="radio"]').on('click', function(){ 
    var namePattern = /([a-z]*)(\[[0-9]\])(\[[A-Z]*\])/i; 
    var found = $(this).attr('name').match(namePattern); 

    var required = '[AP]'; 
    if(found[3] === '[AP]') { 
     required = '[DCI]'; 
    } 

    var reqButtonName = found[1] + found[2] + required; 
    var reqButtonWithValue1 = $('[name="' + reqButtonName + '"]')[0]; 
// $(reqButtonWithValue1).prop('checked', 'checked'); 
    $(reqButtonWithValue1).prop('required', 'required'); 
}); 

这将检查单选按钮[DCI]/[AP]与value=1

+0

不应该自动检查...我想要制作其他单选按钮。 –

+0

和它的唯一工作,当我点击[AP] ....这不是我想要的。 –

+0

你只需要另一个可以处理[DCI]点击事件的函数。 – Sachin