2013-12-23 186 views
1

我試圖在點擊時更改變量值,以便我可以通過ajax發送值以加載或降序格式加載數據。更改變量的值onclick

這是Javascript頁面的一部分。

var ascending = '0'; 

這裏是HTML部分。

<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部分:

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

回答

2

由於範圍,您正在更改parameter。相同的參數名稱隱藏了global變量。要更改全局變量,請更改參數全局變量的名稱。

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

即使點擊後,升序值也沒有變化。 –

+0

你調試了代碼來檢查你在參數ascending1中得到什麼嗎? – Adil

+0

從你的代碼中獲得它的工作。謝謝 –