我的网页上有两个Ul
标记。
这是我的代码
HTML:
<div id="accordion">
<h3>Funeral</h3>
<div>
<ul>
<li><input type="radio" name="rbPlanname" class="rbPlanname" /> Funeral Plan 1</li>
<li><input type="radio" name="rbPlanname" class="rbPlanname" /> Funeral Plan 2</li>
<li><input type="radio" name="rbPlanname" class="rbPlanname" /> Funeral Plan 3</li>
</ul>
</div>
<h3>Disability</h3>
<div>
<ul>
<li><input type="radio" name="rbPlanname" class="rbPlanname" /> Disability Plan 1</li>
<li><input type="radio" name="rbPlanname" class="rbPlanname" /> Disability Plan 2</li>
<li><input type="radio" name="rbPlanname" class="rbPlanname" /> Disability Plan 3</li>
</ul>
</div>
</div>
<table width="100%" style="margin-top:26px">
JS:
var planName;
$('#btnNextClaim').on('click', function () {
$('.rbPlanname').each(function () {
if ($(this).is(':checked')) {
planName = $(this).closest('li').text();
alert($(this).closest('ul').index());
}
});
});
我想,当用户点击下一个按钮,然后我找到了哪个单选按钮被检查,据此,我想找到ul的索引。 假设我检查了第一个ul的单选按钮,那么它应该返回0。 这是我的小提琴
答案 0 :(得分:1)
试试这段代码:
$('#btnNextClaim').on('click', function () {
$('.rbPlanname').each(function () {
if ($(this).is(':checked')) {
planName = $(this).closest('li').text();
var $ul=$(this).closest('ul');
alert($('ul').index($ul));
}
});
});
如果在我们的代码中频繁使用,我们应该缓存DOM元素:
$('#btnNextClaim').on('click', function () {
$('.rbPlanname').each(function () {
var $this=$(this);
if ($this.is(':checked')) {
planName = $this.closest('li').text();
var $ul=$this.closest('ul');
alert($('ul').index($ul));
}
});
});
答案 1 :(得分:0)
在您的index()
方法中添加您要查找的索引类型。在您的情况下,它应该是ul