使用jQuery,我想让一组选择框的功能只有一个可以是“是”。因此,如果用户选择“是”,则所有其他设置为“否”。
我以为我的代码有效。不幸的是,我发现如果用户仅使用键盘进行导航,则代码在Firefox中不起作用。如果用户使用鼠标更改字段,它可以正常工作。只是为了澄清,0是“否”的值。
这是功能:
function f_one(cls)
{
$('.'+cls).filter('select').not('.'+cls+':focus').val('0');
}
在选择框组的onchange事件中调用它,类似于以下内容:
<select name="crrnt" id="crrnt" class="cAgo" onchange="f_one('cAgo')">
我还试图让onkeyup事件模仿onchange事件。它也没用。当焦点丢失时,它实际上将字段设置为0。
因此,有关修补代码或替换代码的任何建议都会很棒。
答案 0 :(得分:0)
这对你有什么用? http://jsfiddle.net/s3QEK/2/
$('select').on('change', function(){
if(this.value === 'yes'){
$('select[data-group="'+$(this).data('group')+'"]:not([name="'+this.name+'"])').filter(function(){
return this.value === 'yes';
}).val('no');
}
});