我还没有找到一个帖子,它实际上询问了选择一个单选按钮的时刻..我没有检查价值,只是当/有人选择任何按钮时。
这就是我所拥有的:
function turnSubmitBlue() {
$('.formSubmit').css('backgroundColor','#08aae4');
}
$('input:checkbox').each.change(function(){
if ($(this).attr('checked')) {
checkForThreeRadioBtns()
};
});
function checkForThreeRadioBtns() {
if (($('input[name=group1]:checked')) && ($('input[name=group2]:checked')) && ($('input[name=group3]:checked'))) {
turnSubmitBlue();
}
}
我的思维过程是,在页面加载时,没有选择任何内容,我必须等到每个组中的一个被选中,然后通过提交按钮上的颜色更改来指示提交。 (如果他们在从每个组中选择一个无线电之前点击提交,我确实会运行验证。)
选择了三个按钮后,运行该功能以更改提交蓝色,显示其他内容(已经正常工作)。一旦他们点击提交,提交按钮将变为灰色并显示结果。
此时,总会有三个选中,所以我只需要在发生更改时运行一个功能(通过单击另一个单选按钮)来更改提交按钮。
我的函数checkForThreeRadioBtns()应该确保在所有三个组中选择每个无线电中的一个,如果是,则触发该函数以运行turnSubmitBlue()。
我一直试图让jquery检查单选按钮被更改但是到目前为止没有运气。
答案 0 :(得分:2)
尝试如下,
$('input:checkbox').change(function(){
if (this.checked) {
checkForThreeRadioBtns();
};
});
还可以尝试更改if条件,如下所示
if ($('input[name=group1]:checked').length &&
$('input[name=group2]:checked').length &&
$('input[name=group3]:checked').length)
完整代码:
function turnSubmitBlue() {
$('.formSubmit').css('backgroundColor','#08aae4');
}
$('input:checkbox').change(function(){
if (this.checked) {
checkForThreeRadioBtns();
};
});
function checkForThreeRadioBtns() {
if ($('input[name=group1]:checked').length &&
$('input[name=group2]:checked').length &&
$('input[name=group3]:checked').length) {
turnSubmitBlue();
}
}
答案 1 :(得分:0)
$('input[type=checkbox]').on('change', function(){
if (this.checked) {
checkForThreeRadioBtns()
};
});
function checkForThreeRadioBtns() {
if ($('input[name=group1]').is(':checked') &&
$('input[name=group2]').is(':checked') &&
$('input[name=group3]').is(':checked')) {
turnSubmitBlue();
}
}