См. Код ниже:
с указанием кода из моего проекта загружает сегмент, подсегменты типа корабля.так же, как страна, штат
сначала сделайте родительский выпадающий, как обычно, вот так:
<?php
echo $this->formSelect('segment','none',array('class' => 'select-advanced', 'width' => '250'),$this->arrInput['shiptype']);
?>
здесь arrInput ['shiptype'] из controllar
сделать div длядочерний выпадающий список в вашей форме
Теперь поместите ниже jquery-код в свою форму:
<script>
var base_path = "<?php echo $this->baseUrl();?>/";
$('#segnam').change(function()
{
var segId=document.getElementById('segment').value;
$.ajax({
url: base_path + "search/subseg/",
data: "segId="+segId,
type: 'GET',
success: function (resp) { document.getElementById('subsegdiv').innerHTML=resp;},
error: function(e){ alert('Error: '+e); }
});
});
</script>
теперь для дочернего выпадающего списка в вашем контроллере выполните действие:
public function subsegAction()
{
$request = $this->getRequest();
$objShiptype = new Shiptype();
$segId=$request->getParam('segId');
$SubSegArr=$objShiptype->getSubSegment($segId);
$this->_helper->layout->disableLayout();
$this->getResponse()->setHeader('Content-Type', 'text/javascript');
$this->view->subseg=$SubSegArr;
}
теперь создайте представление для вышеуказанного действия:
сделайте html выпадающим (дочерним), используя html, получите данные от контроллера subseg
здесь см. сегмент = страна subseg = состояние
длядалее следуйте указаниям города, выполните действие, просмотрите и снова введите код jquery.
Если не ясно, вы можете спросить.У меня есть эта задача.Это сложно:)