如何从不同的表中获取javascript中所选单选按钮的总和?
有两个表:表1和表2。在表1中,有四列。每列都有一些单选按钮。用户只能从每列中选择一个单选按钮。我想在我的代码中设置以下条件: 用户必须从两个表中选择单选按钮。 如果单选按钮的总选择数为5,则用户必须从表1中选择3个单选按钮,从表2中选择2个单选按钮。如果单选按钮的总选择数为4,则用户必须从表1中选择2个单选按钮,从表2中选择2个单选按钮。如果单选按钮的总选择为3,则用户可以从表1中选择2个单选按钮,从表2中选择1个单选按钮,或者用户可以从表1中选择1个单选按钮,从表2中选择2个单选按钮。 用户不能从表1中选择超过3个单选按钮。 我已经完成了条件1和条件3。如何使用表id在javascript中设置条件2 以下是我对条件1和条件3的代码: 条件1如何从不同的表中获取javascript中所选单选按钮的总和?,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,有两个表:表1和表2。在表1中,有四列。每列都有一些单选按钮。用户只能从每列中选择一个单选按钮。我想在我的代码中设置以下条件: 用户必须从两个表中选择单选按钮。 如果单选按钮的总选择数为5,则用户必须从表1中选择3个单选按钮,从表2中选择2个单选按钮。如果单选按钮的总选择数为4,则用户必须从表1中选择2个单选按钮,从表2中选择2个单选按钮。如果单选按钮的总选择为3,则用户可以从表1中选择2个单选按钮,从表2中选择1个单选按钮,或者用户可以从表1中选择1个单选按钮,从表2中选择2个单选按钮。 用户
//tableId sat
$(document).on('click', '#submit', function(event) {
var $checked = $('#sat').find(":radio:checked");
if (!$checked.length) {
alert('You are violating Rule 6. You can not take 3 courses in a day but it is possible if you take 5 courses in a semester..');
event.stopImmediatePropagation();
return false;
}
});
//tableId fri
$(document).on('click', '#submit', function(event) {
var $checked = $('#fri').find(":radio:checked");
if (!$checked.length) {
alert('You are violating Rule 6. You can not take 3 courses in a day but it is possible if you take 5 courses in a semester..');
event.stopImmediatePropagation();
return false;
}
});
条件3
// tableID fri
$("#fri input[type='radio']").change(function(){
var count = $("#fri input[type='radio']:checked").length;
if(count>3){
$(this).prop('checked', false);
alert("You cannot add more than 3");
}
});
//table sat
$("#sat input[type='radio']").change(function(){
var count = $("#sat input[type='radio']:checked").length;
if(count>3){
$(this).prop('checked', false);
alert("You cannot add more than 3");
}
});
您可以使用以下功能检查条件2中的条件
function validateRadionCount() {
var radioCountInSat = $('#sat').find(':radio:checked').length;
var radionCountInFri = $('#fri').find(':radio:checked').length;
var totalCount = radioCountInSat + radionCountInFri;
switch(totalCount) {
case 5:
if (!(radioCountInSat === 3 && radionCountInFri === 2))
return false;
break;
case 4:
if (!(radioCountInSat === 2 && radionCountInFri === 2))
return false;
break;
case 3:
if (!(radioCountInSat === 2 && radionCountInFri === 1) || !(radioCountInSat === 1 && radionCountInFri === 2))
return false;
break;
default:
return false;
}
}
您只需将Condition3中第二个表sat的语句设置为count>2,因为您不能在该表中选择两个以上的单选按钮,如您所述。在这种情况下,用户可以在第一个表中选择1-3个rb,在第二个表中选择1-2个哦!由于用户不希望只选择2个选项,您可以向第二个表的submit事件添加一条额外的语句,该语句检查所选选项的总数是否至少为3