Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.03.2015, 16:59
Интересующийся
Отправить личное сообщение для juramaj Посмотреть профиль Найти все сообщения от juramaj
 
Регистрация: 14.01.2015
Сообщений: 21

Состояние checkbox
Доброго времени суток! Подскажите как мне при определённом состоянии checkbox выполнялось определённое действие. Вот я написал такую функцию на js.
$(function(){
    $('#use_biling_information').on('change', function(){
        if($(this).prop('checked')) {
            var b = true;
        } else {
            var b = false;
        }
        $.ajax({
        type: 'GET',
        url: '/billing_information_attendee_one',
        data: b,
        success: function(msg_att_one_bill_info) {
            var jsondata = JSON.parse(msg_att_one_bill_info);
            $('#attendee_one_first_name').val(jsondata[0].name);
            $('#attendee_one_last_name').val(jsondata[0].last_name);
            $('#attendee_one_company_name').val(jsondata[0].company_name);
            $('#attendee_one_address_1').val(jsondata[0].address_1);
            $('#attendee_one_address_2').val(jsondata[0].address_2);
            $('#attendee_one_city').val(jsondata[0].city);
            $('#attendee_one_state').val(jsondata[0].state);
            $('#attendee_one_postal_code').val(jsondata[0].postal_code);
            $('#attendee_one_country').val(jsondata[0].country);
            $('#attendee_one_phone').val(jsondata[0].phone);
            $('#attendee_one_email').val(jsondata[0].email);
        }   
        }); 

    });
});

на стороне php такова логика. Если пришло true то тогда отправляю массив со значениями, а если пришло false то не отправляю ничего. Всё вроде нормально, но почему то на сторону php приходит true. Не могу понять чего.
Ответить с цитированием
  #2 (permalink)  
Старый 11.03.2015, 17:26
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от juramaj
на сторону php приходит true
А как проверяешь?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 11.03.2015, 17:29
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Вообще, параметр data должен быть либо строкой либо объектом. Если хочешь передавать true/false, приводи b к строке - b.toString()
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 11.03.2015, 17:47
Интересующийся
Отправить личное сообщение для juramaj Посмотреть профиль Найти все сообщения от juramaj
 
Регистрация: 14.01.2015
Сообщений: 21

Привёл b к строке, но ничего не получилось. Когда нажимаю на checkbox то всё нормально отрабатыват(вставляются данные в форму), но когда снимаю галочку с checkbox то они(эти данные) не исчезают с формы.
Вот код на js
$(function(){    
    $('#use_biling_information').on('change', function(){
        if($(this).prop('checked')) {
            var b = true;
        } else {
            var b = false;
        }
        var k = b.toString();
        $.ajax({
        type: 'GET',
        url: '/billing_information_attendee_one',
        data: k,
        success: function(msg_att_one_bill_info) {
            var jsondata = JSON.parse(msg_att_one_bill_info);
            $('#attendee_one_first_name').val(jsondata[0].name);
            $('#attendee_one_last_name').val(jsondata[0].last_name);
            $('#attendee_one_company_name').val(jsondata[0].company_name);
            $('#attendee_one_address_1').val(jsondata[0].address_1);
            $('#attendee_one_address_2').val(jsondata[0].address_2);
            $('#attendee_one_city').val(jsondata[0].city);
            $('#attendee_one_state').val(jsondata[0].state);
            $('#attendee_one_postal_code').val(jsondata[0].postal_code);
            $('#attendee_one_country').val(jsondata[0].country);
            $('#attendee_one_phone').val(jsondata[0].phone);
            $('#attendee_one_email').val(jsondata[0].email);
        }   
        }); 

    });
});

А вот на php
public function address_attendee_one(Request $address_bill_info)
    {
       $add_att_1 = array();
        if($address_bill_info == true){
            $res_bill_info = $this->output_billing_information_addres->output_billing_information();
            if(count($res_bill_info) > 0){
                $add_att_1 = $res_bill_info;
                echo json_encode($add_att_1);
                die();
            }
        }

      //  dd($add_att_1);
    }
Ответить с цитированием
  #5 (permalink)  
Старый 11.03.2015, 18:19
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от juramaj
не исчезают с формы
А должны что-ли? Судя по пхп если пришел false, то сервер молчит как партизан. Так откуда тогда взяться нулевому элементу jsondata[0] и его свойству .name ? Ты уверен что консоль ошибок браузера не засирается ошибками о доступе к несуществующим свойстам?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 11.03.2015, 18:26
Интересующийся
Отправить личное сообщение для juramaj Посмотреть профиль Найти все сообщения от juramaj
 
Регистрация: 14.01.2015
Сообщений: 21

уверен. Нужно как то так сделать чтобы когда снимается галочка с checkbox, то должны форма очищается. Не могу понять как.
Ответить с цитированием
  #7 (permalink)  
Старый 11.03.2015, 19:46
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

if($(this).prop('checked')) {
            var b = true;
        } else {
            var b = false;
        }
        var k = b.toString();


А 1 или 0 никак не годится? А если получать состояние флажка, то что вернет this.checked? зачем вообще нужна проверка этого если можно и так:

data: this.checked

или

data: this.checked*1

Кстати при такой отправке нужно проверять ключ, значения то не передается

Последний раз редактировалось laimas, 11.03.2015 в 19:48.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
checkbox check если значение input djonA Общие вопросы Javascript 8 14.01.2014 06:44
проблема с checkbox Chrome Элементы интерфейса 1 23.10.2013 18:05
checkbox = checkbox Слейп jQuery 2 30.01.2013 15:24
jqgrid tree and checkbox gaz2003 jQuery 0 17.12.2011 15:59
Функция disable для нескольких checkbox allforweb Элементы интерфейса 4 19.12.2010 17:51