Jquery 使用选中和未选中的属性处理2组单选按钮
我正在开发一个移动应用程序,jQuery中有一个click函数,它将一个类应用于一组单选按钮,并将该类从页面上的其他单选按钮中删除。我现在有了一个用例,其中有两组单选按钮,现在它将删除所有单选按钮,而不仅仅是当前组中的单选按钮 我已经在JSFIDLE上设置了一个演示,它有两组单选按钮,您可以看到它们是如何以某种方式连接在一起的,我希望保持它们的包容性。如果您有任何问题,请随时提问 这是jQuery代码,请查看JSFIDLE上的其余代码Jquery 使用选中和未选中的属性处理2组单选按钮,jquery,Jquery,我正在开发一个移动应用程序,jQuery中有一个click函数,它将一个类应用于一组单选按钮,并将该类从页面上的其他单选按钮中删除。我现在有了一个用例,其中有两组单选按钮,现在它将删除所有单选按钮,而不仅仅是当前组中的单选按钮 我已经在JSFIDLE上设置了一个演示,它有两组单选按钮,您可以看到它们是如何以某种方式连接在一起的,我希望保持它们的包容性。如果您有任何问题,请随时提问 这是jQuery代码,请查看JSFIDLE上的其余代码 $('.form-radios label').attr(
$('.form-radios label').attr('checked', 'unchecked');
$(".form-radios label").click(function(){
$(this).attr('checked', 'checked').addClass('checked');
$('label').not(this).removeClass('checked');
});
只需查找最近的父元素,而不是到处搜索:
$('.form-radios label').click(function() {
var $this = $(this);
$this.next('input').prop('checked', 'checked'); // Took the liberty of fixing this up, too.
$this.addClass('checked');
$this.closest('.form-radios').find('label').not(this).removeClass('checked');
});
只需查找最近的父元素,而不是到处搜索:
$('.form-radios label').click(function() {
var $this = $(this);
$this.next('input').prop('checked', 'checked'); // Took the liberty of fixing this up, too.
$this.addClass('checked');
$this.closest('.form-radios').find('label').not(this).removeClass('checked');
});
同级
将仅获取共享同一父元素的元素
编辑:使用新结构:
$(".form-radios label").click(function(){
var $this = $(this);
$this.closest(".form-radios").find("label").removeClass('checked');
$this.attr('checked', 'checked').addClass('checked');
});
同级
将仅获取共享同一父元素的元素
编辑:使用新结构:
$(".form-radios label").click(function(){
var $this = $(this);
$this.closest(".form-radios").find("label").removeClass('checked');
$this.attr('checked', 'checked').addClass('checked');
});
我不太明白问题是什么?你能重新措辞/强调你的问题吗?你需要做的是,如果收音机是相关的,只对这些元素使用
name=“group[]”
和filterclass=checked
。我不太明白问题是什么?您可以重新表述/突出显示您的问题吗?您需要做的是,如果收音机是相关的,则仅对这些元素使用name=“group[]”和filterclass=checked
。他还需要使用name属性对收音机进行分组。这不是仅适用于jQuery 1.6+?我在1.3上。2@jsheffers:否,1.3中添加了.closest()
。()至于prop
,只需将其更改为attr
,就像您最初所做的那样-或升级:)+1,以捕获他在标签上而不是输入上进行的设置检查。我已经忽略了这一点。他还需要使用name属性对收音机进行分组。这不只是针对jQuery 1.6+的吗?我在1.3上。2@jsheffers:否,1.3中添加了.closest()
。()至于prop
,只需将其更改为attr
,就像您最初所做的那样-或升级:)+1,以捕获他在标签上而不是输入上进行的设置检查。我已经忽略了这一点。我看到你的兄弟姐妹在一条新的线路上崩溃了。这样做的目的是什么?我看到这个示例在JSFIDLE中工作,但在我的用例中无法使它工作。基本上,它是在添加选中的类,但不会从其他类中删除它。这只是为了可读性。你真正的html结构与你发布的结构匹配吗?很抱歉,我遗漏了一个包含div。更新了html和你的JSF,这是一个很大的不同。使用@minitech的解决方案<代码>最近的
是使用该结构的方式。虽然我将使用最近的
添加一个稍微不同的版本。可能是次要的,但颠倒您的操作顺序并避免调用not
应该会稍微更有效率。将“this”移动到变量中的原因是什么?我看到您的兄弟姐妹在新行中被分解了。这样做的目的是什么?我看到这个示例在JSFIDLE中工作,但在我的用例中无法使它工作。基本上,它是在添加选中的类,但不会从其他类中删除它。这只是为了可读性。你真正的html结构与你发布的结构匹配吗?很抱歉,我遗漏了一个包含div。更新了html和你的JSF,这是一个很大的不同。使用@minitech的解决方案<代码>最近的是使用该结构的方式。虽然我将使用最近的
添加一个稍微不同的版本。可能是次要的,但是颠倒你正在做的事情的顺序,避免调用not
应该会稍微有效率一些。将“this”移动到变量中的原因是什么?