如何用jQuery将选中HTML复选框的标签文本转为逗号分隔字符串
提取选中复选框的标签文本为逗号分隔字符串
当然可行,只需要修改你的jQuery代码,通过复选框的ID关联到对应的<label>元素,提取其文本内容即可。
现有代码情况
你的.aspx页面结构中,每个复选框都有对应的<label>标签,且for属性值和复选框的ID完全匹配,这为关联两者提供了便利。
当前jQuery代码(获取ID):
var checkedVals = ($("#divIssueTypes").find('input:checkbox:checked').map( function() { return this.id; }).get().join(","));
全选时当前返回:CDAccess,CDReporting,CDSeparatelyLocked,CDEmergencyAccess,CDCounts,CDDisposition,CDDiversion
期望返回:Access,Reporting,Separately locked (subject to abuse),Emergency access,Counts,Disposition,Diversion
修改后的实现代码
只需要在map函数中,通过当前复选框的ID找到对应的<label>,再获取其文本内容:
var checkedLabels = $("#divIssueTypes") .find('input:checkbox:checked') .map(function() { // 通过复选框ID匹配对应的label元素 return $("label[for='" + this.id + "']").text().trim(); }) .get() .join(",");
代码说明
$("label[for='" + this.id + "']"):利用CSS属性选择器,找到for属性等于当前复选框ID的<label>元素.text().trim():提取标签的文本内容并去除首尾空白(避免可能的换行或空格)- 后续的
.get().join(",")和原逻辑一致,将提取到的文本数组转为逗号分隔的字符串
这样修改后,全选时就能得到你期望的标签文本字符串了。
内容的提问来源于stack exchange,提问作者MF Luder
相关产品推荐
相关产品推荐

