Jquery获得选中的复选框
嗨,我想在页面中获取所选复选框的列表,实际上我真正需要的是获取复选框旁边元素的文本,这是一个html元素
这是我目前的jQuery:
$(document).ready(function () { $('#target').click(function () { alert("in"); var checkValues = []; $('input[name=checkboxlist]:checked').each(function() { alert($(this)val()); checkValues.push($(this)val()); }); }); });
这是HTML:
- Structured Products<input type="checkbox" name="checkboxlist"
- Global FID
- PowerPoint Presentations<input type="checkbox" name="checkboxlist"
- Global Deck
- Test1<input type="checkbox" name="checkboxlist"
- Test2<input type="checkbox" name="checkboxlist"
- Test3<input type="checkbox" name="checkboxlist"
<input type="checkbox" name="checkboxlist" - Credit Default Swaps Position
- Test4<input type="checkbox" name="checkboxlist"
- Test5<input type="checkbox" name="checkboxlist"
<input type="checkbox" name="checkboxlist" - Thought Leadership<input type="checkbox" name="checkboxlist"
- Fixed Income Perspectives<input type="checkbox" name="checkboxlist"
- Public Policy Information and Regulatory<input type="checkbox" name="checkboxlist"
- Regional FID<input type="checkbox" name="checkboxlist"
<input type="checkbox" name="checkboxlist" - Global Rates<input type="checkbox" name="checkboxlist"
- Global Credit Products<input type="checkbox" name="checkboxlist"
- FX<input type="checkbox" name="checkboxlist"
- Emerging Markets<input type="checkbox" name="checkboxlist"
- Commodities<input type="checkbox" name="checkboxlist"
- testcat<input type="checkbox" name="checkboxlist"
- testcat<input type="checkbox" name="checkboxlist"
您的输入需要在末尾用/>
关闭以使您的HTML有效,如下所示:
然后你可以像这样做jQuery来获取文本数组:
$(function () { $('#target').click(function () { var checkValues = $('input[name=checkboxlist]:checked').map(function() { return $(this).parent().text(); }).get(); //do something with your checkValues array }); });
你可以在这里看到这个
由于你需要的只是父的.text()
和你的布局,你可以使用.map()
来快速获取基于选择器的属性数组。
$("input[type=checkbox]:checked").parent().text()
首先,您必须关闭复选框标记
应该
我想,从您的HTML中,您可以获得所需文本的lis文本
$(function(){ $('#target').click(function(){ var selected = new Array(); $("input:checkbox[name=checkboxlist]:checked").each(function(){ var val = $(this).closest("li").text(); selected.push(val); }); }); });
您没有正确关闭输入标签。 另外, $(this)val()
应该是$(this).val()
。
如果要获取包含input元素的li元素的文本,可以按如下方式编写:
$(this).parents("li:first").text();