让jquery触发onclick一个类

时间:2013-02-18 04:16:14

标签: javascript jquery ajax

如果这是一个简单的解决方案我很抱歉,我对jquery有点新意。首先,我不认为这是我的初始调用,因为如果我放入一个简单的警报功能,它可以正常工作,基本上当点击这个<li>时,jquery trigers ajax到php函数将<li>的类发送到php脚本并返回,打开带有结果的警报。据我所知它应该有效,但我的知识再次受到限制。任何改变任何人都可以看看我有什么,看看你是否可以清理它,目前没有任何事情发生onclick,甚至没有错误出现在控制台中。但我想,即使是我的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

});

1 个答案:

答案 0 :(得分: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);
                                });
                    });
        });