dropDownList, checkBox и AJAX

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
DroneZzZko
Сообщения: 6
Зарегистрирован: 2010.09.16, 08:12

dropDownList, checkBox и AJAX

Сообщение DroneZzZko »

Здравствуйте! Суть такова: имеется dropDownlist (со списком разделов) и checkBox. Необходимо делать проверку - если в dropDownlist выбран раздел с типом "Блоги", то checkBox должен принять значение "1", если "Новости", то "0" через AJAX.
Во вьюхе делаю так

Код: Выделить всё

<?php echo $form->dropDownList($model, 'parent_id', CHtml::listData(Section::model()->getList()->getData(), 'id', 'title'), array('encode' => false, 'onchange'=>Chtml::ajax(array('type'=>'POST','url' => CController::createUrl('sectionType'),'update' => '#'.CHtml::activeId($model, 'comments_allowed'))),'empty'=>t('Выберите раздел для публикации'))); ?>
<?php echo $form->checkBox($model, 'comments_allowed',  array()); ?>
В контроллере так:

Код: Выделить всё

public function actionSectionType()
    {
        $parent_id = $_POST['Articles']['parent_id'];
        $data = Section::model()->find('parent_id=:parent_id AND type=:type', array(':parent_id'=>$parent_id, ':type'=>'blogs'));
        if ($data != null){            
            echo CHtml::tag('option', array('value' => 1, 'uncheckValue'=>0, 'checked' => true), true);          
        } else {
            echo CHtml::tag('option', array('value' =>1, 'uncheckValue'=>0), true);
        }       
    }
 
В firebug выдаёт следующие:
syntax error
В чем проблема?
DroneZzZko
Сообщения: 6
Зарегистрирован: 2010.09.16, 08:12

Re: dropDownList, checkBox и AJAX

Сообщение DroneZzZko »

Никаких идей?
Jampire
Сообщения: 207
Зарегистрирован: 2011.01.28, 11:45
Откуда: Гомель
Контактная информация:

Re: dropDownList, checkBox и AJAX

Сообщение Jampire »

Естественно, нет. Мы не видим ни реального кода, который генерится на странице, ни в какой строке произошла ошибка. Гадать на кофейной гуще никто не будет. Предоставляйте больше данных.
Изображение
Человек, говорящий, что это невозможно сделать, не должен мешать тому, кто это делает.
esche
Сообщения: 1054
Зарегистрирован: 2010.11.24, 03:39

Re: dropDownList, checkBox и AJAX

Сообщение esche »

DroneZzZko писал(а): В firebug выдаёт следующие:
syntax error
DroneZzZko писал(а):Никаких идей?
А он там местечко error-а не указывает случайно? Посмотрите, что уходит, что приходит.. Или ошибка происходит до активных действий пользователя?.
...
Аватара пользователя
Ozzy
Сообщения: 269
Зарегистрирован: 2009.04.02, 15:09
Откуда: Украина, Одесса

Re: dropDownList, checkBox и AJAX

Сообщение Ozzy »

Фаербагом код покажи или html код страницы в студию
Мой маленький блог - http://dbhelp.ru
DroneZzZko
Сообщения: 6
Зарегистрирован: 2010.09.16, 08:12

Re: dropDownList, checkBox и AJAX

Сообщение DroneZzZko »

html:

Код: Выделить всё

<select onchange="jQuery.ajax({'type':'POST','url':'/admin/articles/sectionType','cache':false,'data':jQuery(this).parents(" form").serialize(),'success':function(html){jquery("#articles_comments_allowed").html(html)}});"="" name="Articles[parent_id]" id="Articles_parent_id">  
firebug показывает лишь:
syntax error
...','url':'/admin/articles/sectionType','cache':false,'data':jQuery(this).parents
delancer
Сообщения: 58
Зарегистрирован: 2011.03.11, 19:37
Откуда: Украина, Донецк

Re: dropDownList, checkBox и AJAX

Сообщение delancer »

Ну понятно почему такой косяк
у тебя в onchange идёт открытие с помощью двойных кавычек, потом в середине ещё раз вызываются кавычки jQuery(this).parents("
просто в parents(" form") сделай parents(' form')
DroneZzZko
Сообщения: 6
Зарегистрирован: 2010.09.16, 08:12

Re: dropDownList, checkBox и AJAX

Сообщение DroneZzZko »

Дело в том, что при отсутствии параметра data, значение по умолчанию присваивается именно такое.
esche
Сообщения: 1054
Зарегистрирован: 2010.11.24, 03:39

Re: dropDownList, checkBox и AJAX

Сообщение esche »

DroneZzZko писал(а):Дело в том, что при отсутствии параметра data, значение по умолчанию присваивается именно такое.
:) так присвойте какое нужно...
...
Ответить