限制一组选择框以允许只有一个成为某个值

时间:2013-01-11 20:14:54

标签: jquery

使用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。

因此,有关修补代码或替换代码的任何建议都会很棒。

1 个答案:

答案 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');
  }
});
相关问题