我使用php动态创建了一组列表和复选框,对于每个li标签我关联了一个复选框,我的问题是当我点击其关联的复选框时,我无法显示每个li标签的值。当我点击每个生成的复选框时,我得到了所有" li"标签。你能帮我吗? 这是我的代码:
echo '<ul>';
while ($row2 = pg_fetch_array($result2))
{
echo '<div class="col-sm-10"><li class="Liste">' . $row2['nom'] . '</li> <div class="checkbox">
<label><input type="checkbox" id="DisplayCheckbox" value=""></label>
</div></div><br />';
}
echo '</ul>';
&#13;
<script type="text/javascript">
$(document).ready(function(){
var itemValue= [];
$('input[id^="DisplayCheckbox"]').on('click',function()
{
if($(this).is(":checked"))
{
listeItem = $(this).parents("div").find(".Liste").text();
alert(listeItem);
}
});
});
</script>
&#13;
答案 0 :(得分:0)
jQuery&#39; parents()
查看您引用的元素的所有祖先。例如,您应该为包含li
和复选框的每个div添加唯一ID。
尝试:
echo '<ul>';
while ($row2 = pg_fetch_array($result2))
{
echo '<div id="' . $row['nom'] . '" class="col-sm-10"><li class="Liste">' . $row2['nom'] . '</li> <div class="checkbox">
<label><input type="checkbox" id="DisplayCheckbox" value=""><input type="hidden" name="id" value="' . $row['nom'] . '"></label>
</div></div><br />';
}
echo '</ul>';
和
$('input[id^="DisplayCheckbox"]').on('click',function() {
if($(this).is(":checked"))
{
parent = $(this).next('input[name="id"]').val();
listeItem = $(this).parents('#' + parent).find(".Liste").text();
alert(listeItem);
}
});