Javascript 无法通过jquery将单击事件添加到动态生成的列表项中 Jquery代码
这是我的jquery函数,用于从数据库中检索列表或类别,该数据库由jquery函数动态生成,我在每个生成的列表项上添加了click事件。但它不会在点击时发出任何警告Javascript 无法通过jquery将单击事件添加到动态生成的列表项中 Jquery代码,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,这是我的jquery函数,用于从数据库中检索列表或类别,该数据库由jquery函数动态生成,我在每个生成的列表项上添加了click事件。但它不会在点击时发出任何警告 <script type="text/javascript" src="<?= base_url('assets/js/jquery.js'); ?>"></script> <script type="text/javascript" src="<?= base_url('a
<script type="text/javascript" src="<?= base_url('assets/js/jquery.js'); ?>"></script>
<script type="text/javascript" src="<?= base_url('assets/js/jquery.min.js'); ?>"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
getlevel1category();
$('#cat').click(function () {
alert();
});
function getlevel1category () {
$.ajax({
type:'POST',
url: "<?php echo base_url(); ?>" + "HomeController/getLevel1Categories",
async: true,
dataType: 'json',
success: function (data) {
var html='';
var i;
for(i=0;i<data.length;i++)
{
html +='<li id="cat">'+data[i].Name+'</li>';
}
$('#level1').html(html);
},
error: function () {
alert('Could not get data');
}
});
}
}
</script>
html
首先,如果元素是多个的,则不要使用id,因为id必须是唯一的,请使用类,并使用事件委托,如
$('#level1').on('click','.cat',function () {
alert();
});
我在生成的每个列表项上都添加了单击事件。不,您没有,上面的代码中也没有。另外:ID在文档中必须是唯一的,不能在多个元素上使用相同的ID,例如cat。还有其他许多元素。请尝试html+=+数据[I].Name+;而不是html+=+数据[i]。名称+;和$'cat1'。单击函数{alert;};我们不需要这个问题的另一个答案。特别是在问题结束后不到两分钟。这是我的工作
public function getLevel1Categories()
{
$this->db->select()
->from('category_level1_tbl');
$query = $this->db->get()->result();
return $query;
}
<div>
<div>
<h3>Level 1 Categories</h3>
</div>
<div >
<ul id="level1">
</ul>
</div>
</div>
$('#level1').on('click','.cat',function () {
alert();
});