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.