- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《joomla1.5中ajax应用于联动菜单讲解和双select操作》.doc
?? 联动菜单在1.5中应用还是比较多的,主要就是单元-分类的联动,以及我们平常见到的省市联动等等,总的来说这个应用比较多,我在这里用joomla来作为一个框架使用,不使用这个也是可以的,你可以自己照着例子做,园子里讲的联动非常多,不多多数是.net,语言虽然相通,但是对从没有接触过.net还是不易理解,这里就用php+jquery(ajax)来实现这一功能,并且同时解决ajax到底如何在joomla中使用.ajax在joomla中通过json数据交换的例子好像没有,我这是第一个也许是最后一个,下面就开始来讲讲实现过程吧.
??? 要想使用json,我们必须让他返回值是json格式才可以,但是默认的模版都是会带有head标记内容的,从国外看到一种方法,也就解决了我一直不知道joomla如何使用json数据.进入templates/system文件夹下面, 建立一个json.php的文件,这个就是后面用到的ajax返回数据,处理方法就写到这个里,我这里通过单元-分类实现二级联动效果,那么这里的数据处理就是根据单元ajax GET传过来值去查找分类,代码如下,json.php文件代码:
?php defined(_JEXEC) or die(Restricted access);
$db = JFactory::getDBO();
$id = (int)$_GET[select1];
if(isset($id)){
$query1 = SELECT id,title FROM #__categories where section=.$id;
$db-setQuery($query1);
$rss = $db-LoadObjectList();
$arr = array();
foreach($rss as $key=$value){
$arr[] = $value;
}
$json = urldecode(json_encode($arr));
echo $json;
}
上边代码就是查询出来id和title,然后转换成json格式,这里json_encode函数就是转换函数,urldecode防止中文乱码的.最后输出了json数据,这样输出的数据是没有head标记的,他的地址就是index.php?tmpl=json这个以后ajax要用到,tmpl就是输出组件模版的一个参数,如果它的值等于了component,就会只显示组件内容,等价于index2.php.我前面讲过这个小技巧了.
接下来我们建立一个测试组件,就叫做com_test,里面不需要过多文件,这里仅仅测试,所以有控制器和视图即可,组件的写法不讲了,不会的看看代码吧,我专门说说jquery ajax操作联动菜单的代码如下,在test view里面,
?php defined(_JEXEC) or die(Restricted access);
$db = JFactory::getDBO();
$query = SELECT id,title FROM #__sections;
$db-setQuery($query);
$rs = $db-LoadObjectList();
?
ajax联动菜单演示: script language=javascript
function getSelect(){
jQuery.getJSON(index.php?tmpl=json,{select1:jQuery(#select1).val()},function(json){
var select2 = jQuery(#select2);
jQuery(option,select2).remove();
jQuery.each(json,function(index,array){
var option = option value=+array[id]++array[title]+/option;
select2.append(option);
});
});
}
jQuery(function(){
getSelect();
jQuery(#select1).change(function(){
getSelect();
});
});
/script
select name=select1 id=select1
option value=-1=请选择=/option
?php foreach($rs as $rs1){?
option value
您可能关注的文档
- 《G3_LR_2Y_3.2.2 The Boy Who Cried Wolf》.pdf
- 《GB150.3(3&4)-2016(E)》.doc
- 《GBT 1591-2016 High Strength Low Alloy Structual Steels》.pdf
- 《GD&T_第五讲:轮廓及跳动公差》.pdf
- 《GD&T形位公差简解》.pdf
- 《Gene-Based Antibody Strategies for Prion Diseases》.pdf
- 《George Packer_ Is Amazon Bad for Books_ _ The New Yorker》.pdf
- 《GMAT&GRE&LSAT所有阅读全真题及答案》.doc
- 《gods ghosts ancestors Arthur Wolf》.pdf
- 《golang Web开发》.pdf
文档评论(0)