1

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

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

4

1 回答 1

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');
  }
});
于 2013-01-11T20:29:50.877 回答