2017-04-03 56 views
-1

我已經寫了代碼,輕觸開關,但同時刷新頁面的狀態總是變化的切換:保存條件

enter image description here

+2

請直接將您的代碼發佈到SO,不要使用屏幕截圖。 – janfitz

+1

試試['localStorage'](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage)或['sessionStorage'](https://developer.mozilla.org/en -US /文檔/網絡/ API /窗/的sessionStorage)。 – Mottie

+0

PHP代碼將不會被瀏覽器執行。這個文件由apache/nginx提供? –

回答

0

我假設你正在試圖取代Ajax的post請求你用別的東西。

我的建議是使用cookie,它會保存一些本地的信息供js使用。

首先,加jQuery & jQuery Cookie到您的網頁像這樣的頂部(在<head>標籤內):

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.js.js" charset="utf-8"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js.js" charset="utf-8"></script> 

然後,在你的JavaScript文件,請執行下列操作:

(function($) { 
    // Grabs cookie and puts into a js variable. 
    var toggled = $.cookie('toggled'); 

// On click of checkbox, check if set/unset. Then set cookie to true/false. 

    $('#switch').change(function()) { 
     if($(this).is(':checked')) { // If set to true, set toggled to true. 
     $.cookie('toggled', true, { expires: 1, path: '/' }); 
     } else { // Else, set to false. 
     $.cookie('toggled', null, { expires: 1, path: '/' }); 
     } 
    } 

})(jQuery); 

您需要在刷新時檢查切換的cookie並添加行爲以檢查此框是否正確:

if(toggled == 'true') { //If cookie set to true... 
$('#switch').attr('checked','checked').flipswitch("refresh") // Flip the switch (Important for jquery mobile). 
} 

請參閱jsFiddle作爲一個工作示例。

我希望這會有所幫助。

+0

我是初學者也能請你幫我詳細..對不起,麻煩...請理解我的問題 – mika

+0

@mika我已經更新了我的答案,並添加了一個jsfiddle示例和一個工作示例。 – thisiskelvin

+0

https://codeshare.io/5w9EoD – mika