2014-10-06 4 views
0

Мне нужно установить значение флажка, если оно отмечено и снято, и сохранить его в базе данных. Значение равно 1, если отмечено, и 0, если не отмечен, соответственно. В настоящее время я использую фрагмент ниже, и он показывает результат, который я хочу, когда я его предупреждаю. Но проблема возникает при сохранении в базе данных. Он по-прежнему получает значение, которое я установил в своем флажке E.G: value = '1'.Как установить значение флажка, если флажок установлен и снят с отметки с помощью ajax или jquery

Вот мой JQuery код:

$(document).ready(function() { 
    $('input[type="checkbox"]').click(function() { 
     var val = this.type == "checkbox" ? +this.checked : this.value ;    
    }); 
}); 

Вот мой HTML флажок:

<input type="checkbox" value="1" name="one_by_one" id="one_by_one" class="one_by_one">One 
+0

Как сохранить его в своей базе данных? – j08691

+0

@ j08691 Я использовал html-форму в codeigniter. Поэтому, когда я нажимаю кнопку сохранения, данные будут сохранены в базе данных mysql. – jjydummya

+0

@FelixKling я вижу. Как я могу сделать это на стороне сервера? – jjydummya

ответ

4

Вероятно, вы хотите:

$('input[type="checkbox"]').click(function() { 
 
    $(this).prop("checked") ? $(this).val("1") : $(this).val("0") 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="checkbox" value="1" name="one_by_one" id="one_by_one" class="one_by_one">One

+0

Спасибо за ваш ответ. Это работает для нескольких флажков? – jjydummya

+0

Да, конечно. Взгляните сюда http://jsfiddle.net/sze886vf/3/ –

+0

Привет. Я пробовал свой код, но значение, которое сохраняется в базе данных, все равно 1. – jjydummya

2

Значение флажка никогда не изменяется (само по себе). Если флажок не установлен, его значение просто не будет отправлено на сервер. Поэтому на стороне сервера вы должны проверить, включен ли в запрос one_by_one, и установить соответствующее значение (например, установить 0, если он не существует, или значение one_by_one, если это так).

+0

Спасибо за ваш ответ. Как я могу установить значение на PHP? Можете ли вы дать мне фрагмент? – jjydummya

+0

Возможно, что-то вроде '$ value = isset ($ _ POST ['one_by_one'])? 1: 0; '. –

Смежные вопросы