请注意:我没有收到任何错误,只是没有像我的逻辑所说的那样运作。
我试图创建一个日历应用程序,基本上是我在这个阶段的目标,是在日历页面的$ document.load上,我希望它能够遍历日历的每一天(1个月)并且每天向PHP(AJAX,$ .post()),查询数据库发送请求,然后将这些结果附加到当前使用.each()函数访问的元素上。
我想要/期望发生的事情:
我希望从PHP传回的结果会附加到它发布的当天元素上。
会发生什么:
不幸的是,似乎正在发生的事情是,帖子是为每个元素(月中的某天)完成的,但是附加只发生一次并附加到集合中的最后一个元素,尽管如下所示, my.append在the.each()
中请帮助大家,我不确定如何在每个帖子后暂停并附加到当前元素,而不是最后一个元素!
代码列表:
HTML:
<ul class="days">
<li><span>1</span></li>
<li><span>2</span></li>
<li><span>3</span></li>
<li><span>4</span></li>
<li><span>5</span></li>
<li><span>6</span></li>
<li><span>7</span></li>
<li><span>8</span></li>
<li><span>9</span></li>
<li><span class="active">10</span></li>
<li><span>11</span></li>
<li><span>12</span></li>
<li><span>13</span></li>
<li><span>14</span></li>
<li><span>15</span></li>
<li><span>16</span></li>
<li><span>17</span></li>
<li><span>18</span></li>
<li><span>19</span></li>
<li><span>20</span></li>
<li><span>21</span></li>
<li><span>22</span></li>
<li><span>23</span></li>
<li><span>24</span></li>
<li><span>25</span></li>
<li><span>26</span></li>
<li><span>27</span></li>
<li><span>28</span></li>
<li><span>29</span></li>
<li><span>30</span></li>
<li><span>31</span></li>
</ul>
jQuery的:
$(".days li").each(function()
{
$dayNumber = $(this).text();
$this = $(this);
$.post("getShiftsMV.php", {dayNumber:$dayNumber}, function(results)
{
$this.append(results);
});
});
PHP:
$shifts = 0;
if($_POST["dayNumber"] != "" )
{
$day = $_POST['dayNumber'];
$sql = "SELECT * FROM shifts WHERE shift_date = '$day'";
$run = $con->query($sql);
if($run->num_rows > 0)
{
while($row = $run->fetch_assoc())
{
$shifts++;
}
}
if($shifts > 0)
{
echo'<span class="label label-success">' . $shifts .'</span>';
}
else
{
echo'';
}
}
=============================================== ==========================
编辑:
例如,使用$var = "test";
确实有效,因为它将在控制台中运行得很好。