【发布时间】:2010-08-24 16:10:30
【问题描述】:
如果您有一组复选框,我想确定最有效的方法(使用 jquery 或 dom)来获取一组复选框的值。
当输入复选框是表单的一部分时,这应该是通用的。但是,这个 x-browser 是否安全,如何更有效地执行此操作,如果复选框不是表单的一部分怎么办?
function (domCheckboxElm) {
var result = $.map($(domCheckboxElm.form.elements[domCheckboxElm.name]).filter(":checked"), function(e) {
return $(e).val();
});
return result;
}
编辑:
附带说明,性能在这里非常重要。对于具有少量输入元素的表单和具有数千个输入元素的表单,需要此算法。而且我的许多用户的计算机都非常旧('02、'04、'05)。
【问题讨论】:
-
@Vivin:但我没有得到我想要的答案。我的意思是“不可能,因为......”的答案是可以接受的,我转而采用了一个 hacky-ish 解决方案来解决我的迫切需求。
-
@epascarello:我同意
$("input:checkbox[name=type]:checked")会解决问题,但这是相当可怕的表现!必须查看 dom 的每个(输入)元素并找到具有我指定名称的元素。大页面的性能真的可以接受吗(我需要使用它)? -
@Dimitriy 明白了。但是您也可以发布自己的解决方案并接受它。 :)
-
@Vivin:我对我的解决方案不满意 :) 我希望得到更多的意见。一个例子是:stackoverflow.com/questions/3398998/…,我很想知道是否有 CSS 解决方案,提供的答案对我没有帮助。如果没有我正在寻找的解决方案是可能的,我也想知道这一点,但是当我不知道事实时,我不想只是放下它是不可能的。
标签: javascript jquery dom