使用JavaScript设置HTML div值

时间:2015-07-28 06:41:15

标签: javascript jquery html css

我有一个包含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没有更新,甚至没有显示。有谁知道我怎么能这样做?

我希望我能解释一下我的问题。非常感谢任何帮助!!

2 个答案:

答案 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。

希望它有所帮助!!!