JQuery使用一个复选框以编程方式取消选中另一个复选框

时间:2011-01-27 14:41:56

标签: jquery input jsfiddle

我正在使用一个复选框取消选中另一个复选框的脚本。虽然所有数据都是以编程方式加载的,但有点复杂。因此,如果未选中复选框,则过程是获取其src值,然后浏览其他输入并查找标题为“RQlevel”的输入+所单击元素的src值并将其设置为未选中。

这是当前的代码。

function levels() {
  var test = $(this).attr('src'); 
  if ($(this).is(':not(:checked)')) { 
    $(':input').each(function() { 
      if ($(this).attr('title') === ('RQLevel' + test)) {
        $(this).removeAttr('checked');
      }
    });
  }
}

这里有一个工作示例可以说明问题http://jsfiddle.net/V8FeW/7/ 如果同时选中了这两个框,然后取消选中第一个框,则应该使用第二个框。

非凡

3 个答案:

答案 0 :(得分:3)

function levels() {
  var test = $(this).attr('src'); 
  if (!this.checked)
     $('input:checkbox[title=RQlevel' + test + ']').removeAttr('checked');
}

$(function() {
    $('input:checkbox').bind('change', levels);
});

演示http://jsfiddle.net/V8FeW/12/

答案 1 :(得分:1)

$('input [title="RQlevel"]').attr('checked', $(this).attr('checked'));

答案 2 :(得分:0)

在这里,您可以找到一个漂亮,简洁而优雅的解决方案:http://briancray.com/2009/08/06/check-all-jquery-javascript/