我有一个jQuery函数来返回格式的复选框的值:
$.fn.selected_values = function() {
return $(this).map( function() { if( $(this).is(':checked') ) { return this.value; } } ).get().join(",");
};
我想知道是否有一种不那么麻烦的方式来说“$ this,再加上另一个标准”。换句话说,不是在循环中使用if( $(this).is('checked'){...}
,是否有某种方式可以说$(this):checked
之类的内容?然后我可以做类似的事情:
$.fn.selected_values = function() {
return $(this):checked.map( function() { return this.value; } ).get().join(",");
};
现有代码确实有效,但似乎随着时间的推移,这样的选择器可能会产生更易读的代码。它存在吗?
答案 0 :(得分:2)
您正在寻找filter
method,它会过滤jQuery对象,只包含与选择器匹配的元素。
旁注:在jQuery方法中,this
已经是一个jQuery对象(就像任何其他类实例方法一样);没有理由写$(this)
。
答案 1 :(得分:0)
以这种方式使用:checked选择器:
$('input.email_toggle:checked')