2014-02-22 19 views
-1

我有一個jQuery代碼混淆了我!有時它可以正常工作,有時不會! 雖然我有與CSS一樣的問題!我以爲是因爲網頁瀏覽器。還是同樣的問題jquery代碼有時工作有時沒有

JavaScript代碼

$('.glyphicon-chevron-up').click(function() { 
    var vote = "up"; 
    var value = $(this).attr('value'); 
    var userid = $('#this').val(); 
    $.post('data.php', {cmtid: value, op: vote, user: userid}, function(data){ 
     if(data == "-1") { 
      alert('Something went wrong'); 
     } 
     else if(data == "-4") { 
      alert('You already voted'); 
     } 
     else if(data == "-2") { 
      alert('You cant vote up again'); 
     } 
     else if(data == "-3") { 
      alert('You cant vote down again'); 
     } 
     else { 
      var vdata = '#vdata' + value; 
      $(vdata).html(data); 
     } 
    }); 
}); 

PHP代碼

<div class="col-xs-12"> 
    <i class="glyphicon glyphicon-chevron-up" id="voteup" value="<?php echo $comment->data()->id; ?>"></i> 
</div> 

有什麼錯誤的代碼? 看起來很簡單

+1

有些時候什麼不工作? –

+0

我不明白爲什麼你有這個'$('#this')。val();'因爲你沒有一個id爲'this'的html元素...至少從你的代碼給我們。 – Craftein

+0

你在腳本上面有另一個腳本嗎? –

回答

1

沒有澄清,很難說出你的問題是什麼。希望這會對你有所幫助。在運行腳本之前打開瀏覽器的控制檯(f12),這樣它將在debugger;語句中斷,並且您可以看到控制檯。

如果您從未看到「按鈕被點擊了」。在控制檯中,您的問題可能與您的選擇器有關。

This article可能會幫助您獲取有關如何調試這些類型問題的一些提示。 Chrome有一個內置的開發者控制檯,在我看來,的方式比Firebug更好,但這個想法是一樣的。

祝你好運。

$(function() { 
    console.log('The DOM is ready.'); 

    if ($('.glyphicon-chevron-up').length === 0) { 
     console.warn('Nothing matches this selector.'); 
    } 

    $('.glyphicon-chevron-up').click(function() { 
     console.log('The button was clicked.'); 

     var vote = "up"; 
     var value = $(this).attr('value'); 
     var userid = $('#this').val(); 

     // hit F8 to continue to see if the ajax call works 
     console.log('about to send', {cmtid: value, op: vote, user: userid}); 
     debugger; 

     $.ajax({ 
      url: 'data.php', 
      type: 'POST', 
      data: {cmtid: value, op: vote, user: userid}, 
      success: function (data) { 
       console.log('here is the response', data); 
       debugger; 

       if (data == "-1") { 
        alert('Something went wrong'); 
       } else if(data == "-4") { 
        alert('You already voted'); 
       } else if(data == "-2") { 
        alert('You cant vote up again'); 
       } else if(data == "-3") { 
        alert('You cant vote down again'); 
       } else { 
        var vdata = '#vdata' + value; 
        $(vdata).html(data); 
       } 
      }, 

      error: function() { 
       console.error('the call failed'); 
       debugger; 
      } 
     }); 
    }); 

}); 
+0

我試過了,非常感謝,但似乎沒有點擊按鈕。 – user2751638

+0

如果問題在於單擊該按鈕無法正常工作,您應該**用這些信息更新您的問題。很多人願意幫忙。 – reergymerej

+0

我發現了這個問題=),首先我非常感謝你幫助我。我很感激。 精神是我在按鈕標籤的頂部div margin-left:-30px,所以實際上我需要點擊該區域!爲什麼這種情況我不知道:D – user2751638