Jquery html()不是';不起作用,但text()起作用

Jquery html()不是';不起作用,但text()起作用,jquery,Jquery,嘿,我对jquery的ajax事件和html()有一个奇怪的问题。我正在为一些东西构建一个日历/事件,除了html()位之外,其他一切都正常工作。 这是代码,(对不起,有点长) Jquery: $(function() { var months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'Dec

嘿,我对jquery的ajax事件和html()有一个奇怪的问题。我正在为一些东西构建一个日历/事件,除了html()位之外,其他一切都正常工作。 这是代码,(对不起,有点长)

Jquery:

$(function() {
 var months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
 var days = new Array('S', 'M', 'T', 'W', 'T', 'F', 'S');
 var date = new Date();

$('#next').click(function() {       
    //gets current year from page
    var curMon = $('#month').text();
    for(var i in months) {
        if(months[i] == curMon) {
            //if not dec, increment i
            if(i != 11) {
                i++;
            } else {
            //else, back to jan and increment year
                i = 0;
                var curYear = $('#year').text();
                curYear = parseInt(curYear) + 1;
                curYear = curYear.toString();
                $('#year').text(curYear);
            }
            $('#month').html(months[i]);
            var yy = parseInt( $('#year').text() );
            var days = daysInMonth(i, yy);
            //clear all the dates
            $('.day').each(function() {
                $(this).text('');
            });
            $.ajax({
               type: "POST",
               url: "some.php",
               data: "month="+months[i],
               success: function(msg){
                 $('#month_fields').html(msg);
               }
             });                
            var firstDay = new Date(months[i]+', 1 ' + yy);
            firstDay = firstDay.getDay();
            var j = 1;
            while(j <= days) {
                //fills in dates starting in the correct spot
                $('.day').eq(firstDay).text(j);
                firstDay++;
                j++;
            }

        }

    }
});

$('#prev').click(function() {
    var curMon = $('#month').text();
    for(var i in months) {
        if(months[i] == curMon) {
            if(i != 0) {
                i--;
            } else {
                i = 11;
                var curYear = $('#year').text();
                curYear = parseInt(curYear) - 1;
                curYear = curYear.toString();
                $('#year').text(curYear);
            }
            $('#month').html(months[i]);
            var yy = parseInt( $('#year').text() );
            var days = daysInMonth(i, yy);
            $('.day').each(function() {
                $(this).text('');
            });
            $.ajax({
               type: "POST",
               url: "some.php",
               data: "month="+months[i],
               success: function(msg){
                 $('#month_fields').html(msg);
               }
             });                
            var firstDay = new Date(months[i]+', 1 ' + yy);
            firstDay = firstDay.getDay();
            var j = 1;
            while(j <= days) {
                $('.day').eq(firstDay).text(j);
                firstDay++;
                j++;
            }
        }
    }
});});
$(函数(){
var months=新数组(“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”);
变量天数=新数组('S','M','T','W','T','F','S');
变量日期=新日期();
$(“#下一步”)。单击(函数(){
//从页面获取当前年份
var curMon=$(“#月”).text();
对于(var i,以月为单位){
如果(月[i]==curMon){
//如果不是dec,增量i
如果(i!=11){
i++;
}否则{
//否则,返回到1月和增量年
i=0;
var curYear=$('#year').text();
curYear=parseInt(curYear)+1;
curYear=curYear.toString();
$('year')。文本(curYear);
}
$('#month').html(months[i]);
var yy=parseInt($('#year').text();
var天=月日(i,yy);
//清除所有日期
$('.day')。每个(函数(){
$(此).text(“”);
});
$.ajax({
类型:“POST”,
url:“some.php”,
数据:“月=”+月[i],
成功:功能(msg){
$(“#月份字段”).html(msg);
}
});                
var firstDay=新日期(月[i]+',1'+yy);
firstDay=firstDay.getDay();
var j=1;

而(j我怀疑缺少响应的
内容类型可能会破坏一切。添加
数据类型:“html”
以及
ajax()的其他选项


您可能应该将其分解为一个更简单的示例,并找出代码的错误之处。jQuery的html函数很可能不是这里的问题。我也是这么想的……直到我转到某个.php?month=May,一切都正常。我必须在php文件中将$\u POST更改为$\u GET,但它可以工作。
    <?php
ob_start();     
    $cal_months = array(
    "January" => "01",
    "February" => "02",
    "March" => "03",
    "April" => "04",
    "May" => "05",
    "June" =>"06",
    "July" => "07",
    "August" => "08",
    "September" => "09",
    "October" => "10",
    "November" => "11",
    "December" => "12",
    );
    $fs = $_POST['month'];
    $thismonth = ( int ) $cal_months[$fs];
    $thisyear = date( "Y" );
    $numdaysinmonth = cal_days_in_month( CAL_GREGORIAN, $thismonth, $thisyear );
    $jd = cal_to_jd( CAL_GREGORIAN, $cal_months[$fs],date( 1 ), date( "Y" ) );
    $startday = jddayofweek( $jd , 0 );
    $monthname = jdmonthname( $jd, 1 );

$emptycells = 0;
for( $counter = 0; $counter <  $startday; $counter ++ ) {
    echo "\t\t<td class='padding'></td>\n";
    $emptycells ++;
}
$rowcounter = $emptycells;
$numinrow = 7;

for( $counter = 1; $counter <= $numdaysinmonth; $counter ++ ) {
    $rowcounter ++;

    if($counter == $thisday){
        echo "\t\t<td class='today'>$counter</td>\n"; // add class for today
    } else {
        echo "\t\t<td class='cal_nums'>$counter</td>\n";
    }

    if( $rowcounter % $numinrow == 0 ) {
        echo "\t</tr>\n";
        if( $counter < $numdaysinmonth ) {
            echo "\t<tr>\n";
        }
        $rowcounter = 0;
    }
}
$numcellsleft = ($numinrow - $rowcounter);
if( $numcellsleft != $numinrow ) {
    for( $counter = 0; $counter < $numcellsleft; $counter ++ ) {
        echo "\t\t<td class='padding'></td>\n";
        $emptycells ++;
    }
}   
$raw = ob_get_contents();
$eventarray[] = array(          
"month" => 5,           
"day" => 1,             
"title" => "April Fools",               
"desc" => "Have fun with those practical jokes!"                
);                      
$eventarray[] = array(          
"month" => 6,           
"day" => 4,             
"title" => "Easter",            
"desc" => "Easter Sunday"               
);                      
$eventarray[] = array(          
"month" => 7,           
"day" => 22,            
"title" => "Earth Day",                 
"desc" => "Protect the environment - Remember to keep the river and parks clean"                
);                      
$eventarray[] = array(          
"month" => 8,           
"day" => 9,             
"title" => "Mother's Day",              
"desc" => ""            
);                      
$eventarray[] = array(          
"month" => 9,           
"day" => 30,            
"title" => "Memorial Day",              
"desc" => ""            
);
foreach($eventarray as $value){
    if($value['month'] == $cal_months[$fs]){
        $raw = str_replace("<td class='cal_nums'>".$value['day']."</td>","<td class='date_has_event'>".$value['day']."\r\n\t\t<div class='events_info'>\r\n\t\t<ul><li><span class='title'>".$value['title']."</span><span class='desc'>".$value['desc']."</span></li></ul>\r\n\t\t</div>\r\n\t\t</td>",$raw);
    }
}
ob_clean();
echo $raw;
?>
   <div id="month_fields">
    <td class="cal_nums">29</td>
    <td class="cal_nums">30</td>
    <td class="cal_nums">31</td>
    <td class="padding"></td>
    <td class="padding"></td>
    <td class="padding"></td>
    <td class="padding"></td>
   </div>
<td class='date_has_event'>1 <div class='events_info'> <ul><li><span class='title'>April Fools</span><span class='desc'>Have fun with those practical jokes!</span></li></ul> </div> </td> <td class='cal_nums'>2</td> <td class='cal_nums'>3</td> <td class='cal_nums'>4</td> <td class='cal_nums'>5</td> <td class='cal_nums'>6</td> <td class='cal_nums'>7</td> </tr> <tr> <td class='cal_nums'>8</td> <td class='cal_nums'>9</td> <td class='cal_nums'>10</td> <td class='cal_nums'>11</td> <td class='cal_nums'>12</td> <td class='cal_nums'>13</td> <td class='cal_nums'>14</td> </tr> <tr> <td class='cal_nums'>15</td> <td class='cal_nums'>16</td> <td class='cal_nums'>17</td> <td class='cal_nums'>18</td> <td class='cal_nums'>19</td> <td class='cal_nums'>20</td> <td class='cal_nums'>21</td> </tr> <tr> <td class='cal_nums'>22</td> <td class='cal_nums'>23</td> <td class='cal_nums'>24</td> <td class='cal_nums'>25</td> <td class='cal_nums'>26</td> <td class='cal_nums'>27</td> <td class='cal_nums'>28</td> </tr> <tr> <td class='cal_nums'>29</td> <td class='cal_nums'>30</td> <td class='cal_nums'>31</td> <td class='padding'></td> <td class='padding'></td> <td class='padding'></td> <td class='padding'></td> 
$.ajax({
   type: "POST",
   url: "some.php",
   data: "month="+months[i],
   success: function(msg){
     $('#month_fields').html(msg);
   },
   dataType : "html"
 });