2016-11-01 5 views
1

На странице документации materializecss нет элемента api для переключателя. Я использовал OnClick событие, которое работает, но в два раза вызватьСобытие смены элемента управления 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 

Это событие срабатывает два раза, когда я изменить положение переключателя. Журнал консоли показывает текущее состояние коммутатора и измененный статус. Я хочу получить только измененный статус. Потому что вызов ajax запускается два раза, и на моей стороне возникает проблема с базой данных. Как я могу справиться с этой проблемой?

+0

использовать условный оператор – madalinivascu

+0

я использовал, но в два раза вызвать сделать статус как истинный в первом триггере и ложный во втором триггере или наоборот. – ahmetkocabiyik

ответ

6

Try делает событие изменения

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

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

Это правда, если вы хотите отправлять только истинные данные, но я хочу отправить ложные данные, если переключатель false – ahmetkocabiyik

+0

вы можете предоставить html? – madalinivascu

+0

Я редактирую вопрос с html – ahmetkocabiyik