jarekpc
(Jarekpc)
July 22, 2013, 10:14am
1
Witam,
Mam taki kod:
echo $form->dropDownList($model, ‘id_kategorie’, $list, array(‘prompt’ => ‘Wybierz Główną Kategorie’,
'ajax' => array(
'type' => 'POST',
'url' => SiteController::createUrl('loadkategorie'),
'update'=>'#id_podkategorie',
'data' => array('id_kategorie' => 'js:this.value'),
)));
//aktulizuje mi liste:
echo CHtml::dropDownList(‘id_podkategorie’, ‘’, array(), array(‘prompt’ => ‘Wybierz Podkategorie’));
i ok działa
ale chciałbym linie
echo CHtml::dropDownList(‘id_podkategorie’, ‘’, array(), array(‘prompt’ => ‘Wybierz Podkategorie’))
zmienić na
echo $form->dropDownList($model,‘id_podkategorie’, ‘’, array(), array(‘prompt’ => ‘Wybierz Podkategorie’)); by wykonać insert, niestety nie działa pojawia się komunikat Invalid argument supplied for foreach().
Jak rozwiązać ten problem, jakie argumenty powinny być w echo $form->dropDownList?
Pozdrawiam
Jarek
mirunho
(D Mirecki)
July 22, 2013, 11:47am
2
dropDownList dla CHtml’a :
public static string dropDownList(string $name, string $select, array $data, array $htmlOptions=array ( ))
dla CActiveForm:
public string dropDownList(CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
Polecam http://www.yiiframework.com/doc/api/1.1
jarekpc
(Jarekpc)
July 22, 2013, 1:02pm
3
Probowałem coś takiego:
echo $form->dropDownList($model, ‘id_podkategorie’, ‘id_kategorie’, array());
ale i to nie poszło Invalid argument supplied for foreach()
mentorq
(Mentorq)
July 22, 2013, 6:59pm
4
Może nie będzie to idealna pomoc, ale na forum przewinęło mi się chyba 10 podobnych tematów więc na pewno rozwiązanie jest
mirunho
(D Mirecki)
July 23, 2013, 6:33am
5
Probowałem coś takiego:
echo $form->dropDownList($model, ‘id_podkategorie’, ‘id_kategorie’, array());
ale i to nie poszło Invalid argument supplied for foreach()
Jak widzisz powyżej w tym co napisałem 3 parametr to array(), natomiast 4 parametr jest opcjonalny, dlatego też Twoja linijka powinna wyglądać mniej wiecej :
echo $form->dropDownList($model, 'id_podkategorie', array());
Pozdrawiam i życze miłego dnia.
jarekpc
(Jarekpc)
July 23, 2013, 9:49am
6
Musiałem zmienić pierwszy dropDownList-update na coś takiego:
//
echo $form->dropDownList($model, ‘id_kategorie’, $list, array(‘prompt’ => ‘Wybierz Główną Kategorie’,
'ajax' => array(
'type' => 'POST',
'url' => SiteController::createUrl('loadkategorie'),
'update' => '#'.CHtml::activeId($model,'id_podkategorie'),
'data' => array('id_kategorie' => 'js:this.value'),
)));
//
a drugi dropDownList został bez zmian:
//
echo $form->dropDownList($model, ‘id_podkategorie’, array());
//
Dzięki za pomoc.
Pozdrawiam
Jarek
roll99
(Roll99)
October 15, 2014, 10:54am
7
witam
czy mógłbyś wrzucić fragment kontrolera, a konkretnie z metoda loadkategorie.
pozdrawiam jurek