2016-11-01 24 views
1

在materializecss文檔頁面中,沒有開關元素的api。我使用的作品,但兩次引發Materializecss開關元素更改事件

的Html

<div class="switch"> 
    <label> 
     Off 
     <input type="checkbox"> 
     <span class="lever"></span> 
     On 
    </label> 
    </div> 

jQuery的

$(".switch").on("click",function() { 

    var status = $(this).find("input[type=checkbox]").prop('checked'); 
    console.log(status) 

    $.ajax({ 
     url : url, 
     type : "post", 
     data : { status : status} 
    }) 

}); 

// console.log output : false true or true false 

當我改變開關位置時,該事件被觸發兩次onclick事件。控制檯日誌顯示開關當前狀態和更改的狀態。我只想得到改變的狀態。因爲ajax調用被觸發兩次,並且它在我的後端發生數據庫問題。我怎樣才能解決這個問題?

+0

使用條件運算符 – madalinivascu

+0

我使用,但兩次觸發使狀態在第一次觸發既真且在第二觸發虛假或反之亦然。 – ahmetkocabiyik

回答

6

嘗試做一個改變事件

$(".switch").find("input[type=checkbox]").on("change",function() { 
     var status = $(this).prop('checked'); 

     $.ajax({ 
      url : url, 
      type : "post", 
      data : { status : status} 
     }) 
    }); 
+0

這是真的,如果只想發送真實的數據,但我想發送錯誤的數據,如果切換錯誤 – ahmetkocabiyik

+0

你能提供的HTML? – madalinivascu

+0

我用html編輯問題 – ahmetkocabiyik