无法使用jQuery获取列表项ID

A. *_*eja 4 html ajax

我需要将列表元素ID传递给ajax,而这段代码似乎没有完成这项工作:

HTML:

    <ul  id="tree">
       <li><a id="1">Finance</a></li>
       <li><a id="2">ACC</a></li>
        <li><a href="<?php echo base_url()?>admincont/departament/6>">HR</a></li>
   </ul>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

<script type="text/javascript">
$( document ).ready(function() {
  $('#tree li').click(function(){
    $.ajax({
       method: "POST",
       data: {depID: $(this).attr('id')},// i have also tried  $(this).id
      url: "<?php echo base_url();?>/assets/getdepartment.php",
      success: function(msg){
        $('#result').html(msg);
      }
    })
  })
});
</script>
Run Code Online (Sandbox Code Playgroud)

我的php文件:

<?php
$depID = $_POST['depID'];
echo $depID;
?>
Run Code Online (Sandbox Code Playgroud)

在我的结果div中,我得到"注意:未定义的索引:第2行中的depID"

Geo*_*rge 5

this 没有引用你的锚,它指的是列表项.

您可以使用以下方式找到锚点this:

data: {depID: $(this).find('a').attr('id')}
Run Code Online (Sandbox Code Playgroud)

或者(在我看来,最好),只需将事件处理程序附加到锚点:

$('#tree li a').click(function(e){
    e.preventDefault(); // If you need to prevent the default behaviour
    $.ajax({
        method: "POST",
        data: {depID: $(this).attr('id')},
        url: "<?php echo base_url();?>/assets/getdepartment.php",
        success: function(msg){
            $('#result').html(msg);
       }
   })
})
Run Code Online (Sandbox Code Playgroud)