我有一堆由asp.net CheckBoxList控件生成的复选框.我想获取用户在页面上控件旁边看到的文本.
使用类似的控件,如RadioButtonList,我已经能够通过这样做在jQuery中获取它们的值:
var selected = $("input:checked[id*='" + Control.id + "']");
Run Code Online (Sandbox Code Playgroud)
然后循环并获取值:
var whatIwant = selections[i].value;
Run Code Online (Sandbox Code Playgroud)
(在这种情况下,"值"将是我想要的文本).
但是 - CheckBoxList渲染方式不同.对于每个ListItem,不仅有输入,还有像这样的html标签:
<input id="ctl00_ContentPlaceHolder1_ConsultedList_0" type="checkbox" name="ctl00$ContentPlaceHolder1$ConsultedList$0" />
<label for="ctl00_ContentPlaceHolder1_ConsultedList_0">Other service providers</label>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,输入标记本身,这是我的小jQuery查询找到的,不包括我想要的信息:"其他服务提供商".那是在标签上.
任何人都可以想到一个很好的解决方案 - 也许是一个让CheckBoxList在输入标签中呈现我需要的文本的好方法,或者一些聪明的jQuery来找到与所选输入相对应的标签?