我正在尝试更改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> 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> 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
。
答案 0 :(得分:2)
由于范围原因,您正在更改parameter
。相同的参数名称隐藏global
变量。要更改全局变量,请更改参数或全局变量的名称。
function knowFormat(ascending1) {
if (ascending1) { ascending = '0'; } else { ascending = '1'; }
}