0

我遇到了 ajax 没有按预期发布数据的问题,我正在使用 Codeigniter 日历库,并为每个表格行和表格数据标签添加了类,这样当您单击任何表格单元格时,下面的代码就会触发。不知道出了什么问题

这是代码:

<script type="text/javascript">

$('.calendar .day').click(function(){
  get_day_num();
});

function get_day_num()
{
  //this alert shows 'undefined' ??
  alert($(this).find('.day').html());
  //values being passed to sendValue are probably 'undefined' - why?        
  sendValue($(this).find('.day_num').html(),$(this).find('.content').html())
}

function sendValue(day_num,day_data)
{
  $.ajax({
  url: window.location,
  type: 'POST',
  data: {
    day: day_num,
    data: day_data
  },
  complete: function(msg)
  {
    location:reload();
  }
});
}
</script>
4

2 回答 2

1

假设script标签在head您的页面中,您需要将代码包装在文档就绪处理程序中。

<script type="text/javascript">
    $(function() {
        // your code here...
    });
</script>

此外,this在您的get_day_num函数中将是window,而不是被点击的元素。您需要将元素传递给函数,或者使用函数引用作为处理程序。尝试这个:

$('.calendar .day').click(get_day_num);
于 2013-08-21T14:42:04.490 回答
0
function sendValue(day_num,day_data)
{
  $.ajax({
  url: window.location,
  type: 'POST',
  data: {
    day: day_num,
    data: day_data
  },
  complete: function(msg)// here use success not complete in complete it comes every time whether out put come or not
  {
    location:reload();
  }
});
}

参考ajax

于 2013-08-21T15:03:24.243 回答