我正在尝试使用bootstrap3创建喜欢/不喜欢的按钮。

这是我的按钮

<button type="button" id="testBtn"
class="btn btn-success glyphicon glyphicon-thumbs-up"
data-loading-text=" ... "  onclick="like()" >
4</button>


这是我的没有AJAX调用的JavaScript函数的简化版本:

    function like(){
    var btn = $('#testBtn');
    btn.button('loading');

    var current = parseInt(btn.text());
    current++;

    console.log(current);

    btn.button('reset');
    btn.text(current);
   }


通常这可以正常工作,并且每次单击时按钮文本都会增加。

但是现在我正在使用引导程序,重置按钮后它会保留旧文本,即使在console.log(current);中我看到一个新的增量文本。

我想是因为我正在使用引导程序按钮加载/重置,所以我不得不做其他事情来更改按钮文本。

最佳答案

'btn.text()'正在获取data-loading-text值,而不是'4'。因此,我更新了答案,从而在FIDDLE中为您上下投票

的HTML

<button type="button" id="testBtn" class="btn btn-success glyphicon glyphicon-thumbs-up" data-loading-text=" ... ">
    4</button>
<button type="button" id="testBtnDown" class="btn btn-success glyphicon glyphicon-thumbs-down" data-loading-text=" ... ">
    4</button>


JS

$('#testBtn').click(function () {
    var cnt=4;
    var btn = $(this);
    btn.button('loading');
    setTimeout(function () {
        cnt++;
        btn.button('reset');
        btn.text('  ' + cnt);
    }, 1000);
 });

$('#testBtnDown').click(function () {
    var cnt=4;
    var btn = $(this);
    btn.button('loading');
    setTimeout(function () {
        if (cnt > 0) {
            cnt--;
        }
        btn.button('reset');
        btn.text('  ' + cnt);
    }, 1000);
 });

关于javascript - 通过引导加载/重置后更改按钮文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28649894/

10-12 12:38
查看更多