javascript - Bootstrap 投票按钮不起作用

标签 javascript jquery twitter-bootstrap

我的页面中有一个投票系统,我将它与普通的 CSS 按钮一起使用,效果很好。但是当我将它应用到 Bootstrap 按钮时,它不起作用。

我想在 Bootstrap 中使用它。

普通 css 按钮:

<div class="voting_kochi" id="1012">

    <div class="voting_btn"><div class="up_button">&nbsp;</div><span class="up_votes">0</span></div>
    <div class="voting_btn"><div class="down_button">&nbsp;</div><span class="down_votes">0</span></div>

</div>

转换为 Bootstrap:

<div class="voting_kochi" id="1012">

    <div class="voting_btn"><div class="btn btn-default btn-responsive up_button"><span class="glyphicon glyphicon-thumbs-up"></span></div><span class="badge btn-responsive up_votes">0</span></div>
    <div class="voting_btn"><div class="btn btn-default btn-responsive down_button"><span class="glyphicon glyphicon-thumbs-down"></span></div><span class="badge btn-responsive down_votes">0</span></div>

</div>

脚本:

$(document).ready(function() {
$.each( $('.voting_kochi'), function(){
    var unique_id = $(this).attr("id");
    post_data = {'unique_id':unique_id, 'vote':'fetch'};
    $.post('../vote_process.php', post_data,  function(response) {
            $('#'+unique_id+' .up_votes').text(response.vote_up); 
            $('#'+unique_id+' .down_votes').text(response.vote_down);
        },'json');
});

$(".voting_kochi .voting_btn").click(function (e) {
    var clicked_button = $(this).children().attr('class');
    var unique_id   = $(this).parent().attr("id"); 
    if(clicked_button==='down_button') //user disliked the content
    {
        post_data = {'unique_id':unique_id, 'vote':'down'};
        $.post('../vote_process.php', post_data, function(data) {
            $('#'+unique_id+' .down_votes').text(data);
        }).fail(function(err) { 
        alert(err.statusText); 
        });             
    }
    else if(clicked_button==='up_button') //user liked the content
    {
        post_data = {'unique_id':unique_id, 'vote':'up'};
        $.post('../vote_process.php', post_data, function(data) {
            $('#'+unique_id+' .up_votes').text(data);
        }).fail(function(err) { 
        alert(err.statusText); 
        });
    }
});
});

最佳答案

使用hasClass()。hasClass将检查元素中是否存在类。尝试这个

$(".voting_kochi .voting_btn").click(function (e) {
    var clicked_button = $(this).children();
    var unique_id   = $(this).parent().attr("id"); 
    if($(clicked_button).hasClass('down_button')) //user disliked the content
    {
        post_data = {'unique_id':unique_id, 'vote':'down'};
        $.post('../vote_process.php', post_data, function(data) {
            $('#'+unique_id+' .down_votes').text(data);
        }).fail(function(err) { 
        alert(err.statusText); 
        });             
    }
    else if($(clicked_button).hasClass('up_button')) //user liked the content
    {
        post_data = {'unique_id':unique_id, 'vote':'up'};
        $.post('../vote_process.php', post_data, function(data) {
            $('#'+unique_id+' .up_votes').text(data);
        }).fail(function(err) { 
        alert(err.statusText); 
        });
    }
});

关于javascript - Bootstrap 投票按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30183677/

相关文章:

css - 由于溢出滚动触摸 css,表响应 "breaks"模态内部

javascript - 当元素少于 3 时,旋转木马 slider 停止克隆

javascript - 如何解耦和封装 Node.js 的长方法?

javascript - 展开下拉菜单 onkeyup 事件

javascript - CSS li 没有排队。可能是周期问题

javascript - 带有BehaviorID的SliderExtender在pageLoad()之后不渲染,但在回发后工作

javascript - php html javascript 错误结果

javascript - 在javascript代码中将字符串分成多行

javascript - IFrame根据浏览器的 "height" "width"调整

HTML隐藏的div覆盖