更改变量onclick的值

时间:2013-12-23 07:24:20

标签: javascript jquery html ajax

我正在尝试更改click上的变量值,以便我可以通过ajax发送值以升序或降序格式加载数据。

以下是页面顶部的Javascript部分。

var ascending = '0';

这是HTML Part。

<span onclick="knowFormat(true)"><input type="checkbox" id="ascending" name="ascending"><label for="ascending"><i class="fa fa-sort-alpha-asc"></i>&nbsp;Ascending</label></span>

<span onclick="knowFormat(false)"><input type="checkbox" id="descending" name="ascending"><label for="descending"><i class="fa fa-sort-alpha-desc"></i>&nbsp;Descending</label></span>

<span><input type="button" name="sort" onclick="sorting()"></span>

这是我的CSS:

input { display:none; }
input:checked ~ label { color:red; }

这是我的Javascript就在ajax函数之前和之后的html,css part:

function knowFormat(ascending) {
    if (ascending) { ascending = '0'; } else { ascending = '1'; }
}

在我的Ajax中,即使点击后数据也总是被发送'0'。

function sorting() {
alert(ascending);
    jQuery.ajax({
        url : 'ajax/file.php',
        type : 'POST',
        data : 'ascending='+ascending,
        success : function(s) {
            alert(s);
        }
    });
}

即使点击sorting后,alert按钮始终为0

1 个答案:

答案 0 :(得分:2)

由于范围原因,您正在更改parameter。相同的参数名称隐藏global变量。要更改全局变量,请更改参数全局变量的名称。

function knowFormat(ascending1) {
    if (ascending1) { ascending = '0'; } else { ascending = '1'; }
}