嗨,我想在页面中获取所选复选框的列表,实际上我真正需要的是获取复选框旁边的元素文本,这是一个html元素<li>
,代码在下面,它不工作
这是我目前的jQuery:
$(document).ready(function () {
$('#target').click(function () {
alert("in");
var checkValues = [];
$('input[name=checkboxlist]:checked').each(function() {
alert($(this)val());
checkValues.push($(this)val());
});
});
});
Run Code Online (Sandbox Code Playgroud)
这是HTML:
<ul id="7b1fe2bd-1b26-4185-8cd9-aec10e652a70">
<li>Structured Products<input type="checkbox" name="checkboxlist"</li>
<li>Global FID
<ul>
<li>PowerPoint Presentations<input type="checkbox" name="checkboxlist"</li>
<li>Global Deck
<ul>
<li>Test1<input type="checkbox" name="checkboxlist"</li>
<li>Test2<input type="checkbox" name="checkboxlist"</li>
<li>Test3<input type="checkbox" name="checkboxlist"</li>
</ul>
<input type="checkbox" name="checkboxlist"</li>
<li>Credit Default Swaps Position
<ul>
<li>Test4<input type="checkbox" name="checkboxlist"</li>
<li>Test5<input type="checkbox" name="checkboxlist"</li>
</ul>
<input type="checkbox" name="checkboxlist"</li>
<li>Thought Leadership<input type="checkbox" name="checkboxlist"</li>
<li>Fixed Income Perspectives<input type="checkbox" name="checkboxlist"</li>
<li>Public Policy Information and Regulatory<input type="checkbox" name="checkboxlist"</li>
<li>Regional FID<input type="checkbox" name="checkboxlist"</li>
</ul>
<input type="checkbox" name="checkboxlist"</li>
<li>Global Rates<input type="checkbox" name="checkboxlist"</li>
<li>Global Credit Products<input type="checkbox" name="checkboxlist"</li>
<li>FX<input type="checkbox" name="checkboxlist"</li>
<li>Emerging Markets<input type="checkbox" name="checkboxlist"</li>
<li>Commodities<input type="checkbox" name="checkboxlist"</li>
<li>testcat<input type="checkbox" name="checkboxlist"</li>
<li>testcat<input type="checkbox" name="checkboxlist"</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
Nic*_*ver 17
您的输入需要/>在末尾关闭以使您的HTML有效,如下所示:
<input type="checkbox" name="checkboxlist" />
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样做jQuery来获取文本数组:
$(function () {
$('#target').click(function () {
var checkValues = $('input[name=checkboxlist]:checked').map(function() {
return $(this).parent().text();
}).get();
//do something with your checkValues array
});
});?
Run Code Online (Sandbox Code Playgroud)
由于您只需要.text()布局的父级,您可以使用.map()快速获取基于选择器的属性数组.