我正在使用基于Zend Framework和Smarty Templates的Social Engine。
我需要为个人资料页面制作自定义功能,我需要基于Ajax的动态国家/州/城市选择,例如
国家/地区下拉菜单 - >在选择某个国家时,国家将显示属于所选国家和州选择 - >相关城市将显示。我有我的国家/州和城市的单独表格。
任何人都可以帮助我们或者可以提供一些参考/示例吗?
我不知道,如何进行Ajax调用并使用它来呈现我的观点!
问候!
答案 0 :(得分:0)
见下面的代码:
从我的项目加载段,船舶类型的子段提供代码。与国家,州相同
首先让父母像往常一样下拉:
<?php
echo $this->formSelect('segment','none',array('class' => 'select-advanced', 'width' => '250'),$this->arrInput['shiptype']);
?>
这里arrInput ['shiptype']来自controllar
在你的表格上为孩子制作一个div
现在将jquery代码放在ur表单下面:
<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从subseg控制器获取数据
使html下拉(子)这里是指段=国家 subseg = state
for city follow same再次制作动作和视图以及jquery代码。
如果不清楚你可以自由提问。我已经完成了这个任务。这很棘手:)