2017-03-28 39 views
0

我已经在这里搜索了关于'如何启用我的禁用按钮'的问题,但'removeAttribute'只是不起作用,不知道为什么。 我有这个问题 - 一旦我达到0与我的递减按钮它被禁用,所以用户不能递减到负数,但问题是当我使用递增按钮递减一个保持禁用,为什么?如果你们告诉我另一种方法来解决这个问题,我会非常感激。该点是我现在允许递减到低于0 这里是我的HTML和JS:如何使用javascript重新启用我一次禁用的按钮

var value = 1; 
 
var plus = document.getElementById('plus'); 
 
var minus = document.getElementById('minus'); 
 

 

 
function add() { 
 
    value++; 
 
    document.getElementById('num').innerHTML = value; 
 
} 
 

 
function take() { 
 
    value--; 
 
    document.getElementById('num').innerHTML = value; 
 
    if (value == 0) { 
 
    minus.disabled = true; 
 
    } else { 
 
    minus.disabled = false; 
 
    } 
 
}
<input type="button" value="ADD" id="plus" onclick="add();"> 
 
<input type="button" value="TAKE" id="minus" onclick="take();"> 
 
<span id="num">1</span>

回答

3

因为你当你点击添加按钮不运行的逻辑。你只能在减号按钮上进行。

我会爆发出来到它自己的功能

var value = 1; 
 
var plus = document.getElementById('plus'); 
 
var minus = document.getElementById('minus'); 
 

 

 
function add() { 
 
    value++; 
 
    document.getElementById('num').innerHTML = value; 
 
    setBtnStates(); 
 
} 
 

 
function take() { 
 
    value--; 
 
    document.getElementById('num').innerHTML = value; 
 
    setBtnStates(); 
 
} 
 

 
function setBtnStates() { 
 
    if (value == 0) { 
 
    minus.disabled = true; 
 
    } else { 
 
    minus.disabled = false; 
 
    } 
 
}
<input type="button" value="ADD" id="plus" onclick="add();"> 
 
<input type="button" value="TAKE" id="minus" onclick="take();"> 
 
<span id="num">1</span>

的语句可以简化为

function setBtnStates() { 
    minus.disabled = value == 0; 
} 
+0

非常感谢你,朋友!非常感谢 :) – XxXtraCookie