每次点击一个按钮并且id存在时,我试图让我的程序向计数器添加1; 但我的问题是,当你第三次点击时它只提醒2而不是3,我希望它尽可能地上去 有没有更好的方法来实现这一点,谢谢
这是我的代码:
Var q=1;
if ($("#"+val).length==0){
alert (q)
}else
{
q=q+1
alert (q)
}
请在这里点击我的按钮的完整代码,注意var q在全局模式下声明:我不是这个程序的专家,请有人修改我的代码,以便我可以让它工作
$(document).on('click',".add", function(){
var add=($(this).attr('id')) //this collect the id
var q=1;
var val=($(this).attr("name"))
if ($("#"+val).length==0) {
alert(q)
}else{
q=q+1
alert(q)
}
答案 0 :(得分:0)
将变量q声明为全局变量,以便在整个页面生命周期内可用,直到刷新页面。
<script>
var q = 1;
function Myfunction()
{
// put your logic here and use the q
}
</script>
答案 1 :(得分:0)
您需要将Var q=1;
声明为全球。
示例强>
Var q=1;
$('SELECTOR').click(function(){ /* increment code */ });
如果它只是错字然后忽略或请放;
来结束陈述。
答案 2 :(得分:0)
将q
设为0开始。你可以跳过if - else
...
var q = 0;
$(document).off('click', 'SELECTOR').on('click', 'SELECTOR', function() {
q++;
alert(q);
)};
编辑:
首先,你的var q
并不像你想象的那样全球化。它应该在您的点击处理程序之外。在您编写时,每次单击.add
时,q都将设置为1。
上面的代码替换了您的所有代码。但我会根据你的需要进行调整...... (我们都是初学者)
var q = 0;
$(document).off('click', '.add').on('click', '.add', function() {
var add = $(this).attr('id');
var val = $(this).attr("name");
if($('#'+val).length != 0) {
q++;
alert(q);
}
else {
alert(q);
}
)};
注意:我首先使用.off()
以防万一。我喜欢这种方式,如果你不这样做,你只能留下.on()
...
希望这有助于你。