JQuery код иногда работает, иногда нет

0

У меня код jquery запутывает меня! Иногда это прекрасно работает, а иногда нет! хотя у меня была такая же проблема с css! я думал, потому что веб-браузер. все та же проблема

КОД 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(); так как у вас нет html-элемента с идентификатором this ... по крайней мере из ваших кодов, данных нам.
Показать ещё 14 комментариев
Теги:

1 ответ

1
Лучший ответ

Без разъяснений трудно сказать, в чем заключается ваша проблема. Надеюсь, это поможет вам. Откройте консоль браузера, прежде чем запускать скрипт (f12), чтобы он разбился на debugger; и вы можете увидеть консоль.

Если вы никогда не видите "нажата кнопка". в консоли ваша проблема, вероятно, связана с вашим селектором.

Эта статья может помочь вам подобрать некоторые советы о том, как отлаживать эти проблемы. У 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
    Я попробовал это, спасибо большое, но кажется, что кнопки не нажимают.
  • 0
    Если проблема заключается в том , что , нажав на кнопку не работает, вы должны действительно обновить свой вопрос с этой информацией. Многие люди готовы помочь.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню