-1

これが簡単な修正である場合はお詫び申し上げます。私はjqueryを初めて使用します。まず、最初の呼び出しが台無しになっているとは思いません。単純なアラート関数を入れた場合、基本的に<li>クリックすると正常に動作するため、jqueryはクラスを送信するphp関数へのajaxをトリガーしますphp スクリプトに<li>戻って、結果を含むアラートを開きます。私が知る限り、それは機能しているはずですが、やはり私の知識はかなり限られています。誰でも私が持っているものを見て、それをクリーンアップできるかどうかを確認できます。現在、クリックしても何も起こらず、コンソールにもエラーは表示されません。しかし、私のajax呼び出しでさえ間違っていると思います。クリックしても何も起こらない理由はありますか?

HTML:

  <li title = "Previous Month"  id = "changeMonthBack" class = "<?php echo date('n'); ?>"><img src="images/leftArrow.gif" width="54" height="45" alt="previous month"></li>

jQuery/javascript:

//javascript document

$(document).ready(function(){
//need to do an onclick for getting the new month(previous)
$(".changeMonthBack").click(function(){
  function calendar(){
    //set the id for php
    var identifier = 1;
    //get the class to use for month
        var str = document.getElementById("changeMonthBack").class;
    //get the month number
    //if the month is 1, we obviously need it to be 12
    if str == 1{
        var month = 12;
    }
    else{
        var month = str - 1;
    }
      $.post("redraw.php"),{
        identifier: identifier,
        month: month
      },
        function(data,status){
          alert("Data: " + data + "\nStatus: " + status);
  };
})//end function 1

});

4

1 に答える 1

2

スクリプトには複数の問題があります。
1. Esthete が提案したように、セレクターは id セレクターである必要があります#changeMonthBack
2. 呼び出したクロージャー メソッドを作成していますが、呼び出しcalendarたことはありません
3. 複数の構文エラーがありました ( spketなどの JavaScript エディターを使用します)

呼び出される関数を作成していますcalendarが、決して呼び出しません。

$(document).ready(function() {
            // need to do an onclick for getting the new month(previous)
            $("#changeMonthBack").click(function() {
                        // set the id for php
                        var identifier = 1;
                        // get the class to use for month
                        var str = parseInt($(this).attr('class'),10);
                        // get the month number
                        // if the month is 1, we obviously need it to be 12
                        if (str == 1) {
                            var month = 12;
                        } else {
                            var month = str - 1;
                        }
                        $.post("redraw.php", {
                                    identifier : identifier,
                                    month : month
                                },

                                function(data, status) {
                                    alert("Data: " + data + "\nStatus: "
                                            + status);
                                });
                    });
        });
于 2013-02-18T04:18:41.340 に答える