我有一个包含2个div(以及其他内容)的HTML页面 - " person" "人才成功",其中" person"是可见的"人 - 成功"隐。当一个按钮进入" person"点击,可见的div隐藏和以前隐藏的div" person-success"显示。代码如下:
<div id="person">
<br><br>
<div id="counterNum" class="counter-color" l10nID="M_AC_UT_TXT_20"></div>
<div role="form">
...
<button type="submit" id="addPerson" class="btn btn-success" l10nID="M_LG_BTN_1"></button>
</div>
</div>
<div id="person-success" class="hide">
...
<p>
<span l10nID='M_AC_UT_TXT_19'></span>
You can add <span id="limit"></span> more people. <a href='<?php echo $root; ?>edituseraccount.php?action=addPerson'>Add another person?</a>
</p>
</div>
JavaScript:
$('#addPerson').click(function() {
var counter = 0;
var limit = 10;
var args = {
...
$.post("addperson.php",args,function(data){
var response = JSON.parse(data);
if(response.status == 0){
counter += 1;
if (counter < limit){
$('#counterNum').text(counter);
$('#person').hide();
$('#limit').text(limit-counter);
$('#person-success').show();
}
}
console.log(data);
});
});
现在,当按下按钮时,&#34;人 - 成功&#34;将显示,点击&#34;添加其他人?&#34;应该显示&#34; person&#34;并隐藏&#34;人 - 成功&#34;再次。只有这一次,div&#34; counterNum&#34;应使用&#34; counter&#34;的值更新来自JavaScript。使用我的代码,点击该链接会重新打开&#34; person&#34; div并隐藏另一个,但是counterNum没有更新,甚至没有显示。有谁知道我怎么能这样做?
我希望我能解释一下我的问题。非常感谢任何帮助!!
答案 0 :(得分:1)
Var计数器将其设为全局。因为每次当计数器重置为零时单击addPerson按钮。
var counter = 0;
var limit = 10;
$('#addPerson').click(function() {
var args = {
...
$.post("addperson.php",args,function(data){
var response = JSON.parse(data);
if(response.status == 0){
counter += 1;
if (counter < limit){
$('#counterNum').text(counter);
$('#person').hide();
$('#limit').text(limit-counter);
$('#person-success').show();
}
}
console.log(data);
});
});
答案 1 :(得分:0)
您声明的变量是本地范围。 在调用的click事件之外全局声明变量。 每次点击它都会将计数器重置为0。
希望它有所帮助!!!