0. рдкрд░рд┐рдЪрдпред
рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдмрд╣реБрдд рдмрд╛рд░ рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдХрд╕реНрдЯрдо рдЪрдпрди, рдЗрдирдкреБрдЯ, рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдбрд░ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реИрдВрдбрд▓рд░ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ ZF рдХреЛ рдорд╛рдирдХ рдлреЙрд░реНрдо рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдмреЙрдХреНрд╕ рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдкрддрд╛ рд╣реИ (рдХреИрдкреНрдЪрд╛ рдПрдХ рдЕрдкрд╡рд╛рдж рд╣реИ)ред рдпрд╣ рд▓реЗрдЦ jQuery рдХреЗ рд▓рд┐рдП facebook- рдЬреИрд╕реЗ рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕ рд▓рд┐рд╕реНрдЯ рдкреНрд▓рдЧрдЗрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рддрддреНрд╡ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдЧрд╛, рдЬреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

1. рдереНрдпреЛрд░реАред
рджрд░рдЕрд╕рд▓, рдПрдХ рдирдпрд╛ рддрддреНрд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛ рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
- Zend_Form_Element_Xhtml рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдПрдХ рддрддреНрд╡ рд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ;
- рд╕рд╣рд╛рдпрдХ рджреЗрдЦреЗрдВ, рдЬреЛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧрд╛;
- рддрддреНрд╡ рдХрд╛ рдирд╛рдо рд╣рдорд╛рд░реЗ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдИрд╡_) рдФрд░ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
2. рдЕрднреНрдпрд╛рд╕ред
2.1ред рдПрдХ рдИрд╡_Form_Element_TextboxList рдмрдирд╛рдПрдВ
рд╡рд░реНрдЧ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореБрдЦреНрдп рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ:
- рддрддреНрд╡ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджреГрд╢реНрдп рд╕рд╣рд╛рдпрдХ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛;
- рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рдирд╛;
- рд╕реЗрдЯрд┐рдВрдЧ (рдпрд╛ рд╕рдВрдпреЛрдЬрди) рд╡рд┐рдХрд▓реНрдк (рд╡реИрдХрд▓реНрдкрд┐рдХ) рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рдЕрдзрд┐рднрд╛рд░;
- рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ \ рддрд░реАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ Zend_Form_Element рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдПрд▓рд┐рдореЗрдВрдЯ рдХреНрд▓рд╛рд╕ рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╡реЗрд░рд┐рдлрд╛рдЗрдЯрд░реЛрдВ рдХреЗ рдбреЗрдХреЛрд░реЗрдЯрд░ \ рдлрд┐рд▓реНрдЯрд░ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдСрдкреНрд╢рдВрд╕ рдХреЛ рдЙрдирдХреЗ рд╣реЗрд▓реНрдкрд░ рдХреЛ рд╡реНрдпреВ рд╣реЗрд▓реНрдкрд░ рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдореЗрдВ рдХрдХреНрд╖рд╛ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб:
class Eve_Form_Element_TextboxList extends Zend_Form_Element_Xhtml { public $helper = 'formTextboxList'; public $options = array( 'js_main' => '/js/jquery.textboxlist.js',
2.2ред рдПрдХ рджреГрд╢реНрдп рд╕рд╣рд╛рдпрдХ рдмрдирд╛рдПрдВ Eve_View_Helper_FormTextboxList
рдХрдХреНрд╖рд╛ рдореЗрдВ рдПрдХ рд╡рд┐рдзрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╡рд░реНрдЧ рдХреЗ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╕рд╣рд╛рдпрдХ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХреЛрдб + рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ:
class Eve_View_Helper_FormTextboxList extends Zend_View_Helper_FormElement { public function formTextboxList($name, $value = '', $attribs = null, $options = null) { $id = $name; $elemId = $this->view->escape($id); $xhtml = '<input type="text" name="' . $this->view->escape($name) . '" id="' . $this->view->escape($id) . '"';
2.3ред рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рд░рдВрднред
рдпрд╣ рдХрдИ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИ:
elements.categories.type = textboxList elements.categories.options.label = Categories elements.categories.options.use_autocompletion = 1 elements.categories.options.autocomplete_script = /categories/ajax/get-all/
3. рдЖрдЙрдЯрд░реЛред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдЕрд▓рдЧ рддрддреНрд╡ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
Jquery рдкреНрд▓рдЧрдЗрди рд╡рд╣рд╛рдБ рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ -
http://devthought.com/projects/jquery/textboxlist/ ред
рдкреНрд▓рдЧрдЗрди рдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ рдЬреЛ рдЗрд╕ рдШрдЯрдХ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рдереЗред рдФрд░ рд╣рд╛рдВ, рдкреНрд▓рдЧрдЗрди рдПрдХ рдореБрдлреНрдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдирд╣реАрдВ рд╣реИред
UPD: 1. рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ (
рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВ)