Piotr Krajewski

Piotr Krajewski web application
programmer

Temat: ZendX i autocompleter

Witam wszystkich,

mam problem z autocompleterem w ZendX Jquery.
Problem dotyczy pobierania danych z dwóch tabel po przez modele, wysłietlanie rezultatu, oraz akcji po kliknięciu. Ale to wszystko za chwilę.

Obecnie pokażę to co mam.

Form:

$city = new ZendX_JQuery_Form_Element_AutoComplete('city');
$city->setLabel('<sup class="txtRed">*</sup> Miasto:')->setRequired(true)->setAttrib('id', 'fCity')->setAttrib('class', 'sizer25')->addFilters(array(
new Zend_Filter_StringTrim(),
new Zend_Filter_StripNewlines(),
new Zend_Filter_StripTags()
))->addValidators(array(
new Zend_Validate_NotEmpty(),
new Zend_Validate_StringLength(2, 100)
))->setJQueryParams(array(
'data' => '/panel/autocomplete.html',
'delay' => 300,
'minLength' => 2
));

$cityId = $this->createElement('hidden', 'cityId');
$regionId = $this->createElement('hidden', 'regionId');

$this->addElements(array(
$city,
$cityId,
$regionId,
));


Model:

class Model_DbTable_City extends Zend_Db_Table_Abstract
{
protected $_name = 'cities';

protected $_primary = 'id';


public function searchCity($city = '')
{
if (empty($city) || mb_strlen($city) < 2)
{
return;
}
$select = $this->select();
$city = $city.'%';
$select->where('name LIKE ?', $city)->limit(10);

return $this->fetchAll($select);
}
}


No i powiem iż to wszystko działa tzn w pole input wpisuje np. "wars" i mam listę podpowiedzi. Ale dla mnie to za mało, gdyż w bazie mam dwie tabele (tym samym dwa modele): cities i regions połączone relacyjnie poprzez region_id.

Moim pytaniem jest jak użyć autocompletera tak by pobierało dane z dwóch tabel i wyświetlało podpowiedzi w sposób np. "<strong>Waszawa</strong> - mazowieckie" oraz po kliknięciu takiego wpisu pobierało id miasta i id regionu i wstawiało do pól typu hidden ($cityId, $regionId) z powyższego przykładu?

Bardzo będę wdzięczny za pomoc.