我正在尝试使用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/