bob体育官方平台
ajax级联菜单完毕方式实例剖判_javascript本领_脚本之家

本文实例汇报了ajax级联菜单落成格局。分享给大家供大家参谋,具体如下:

正文实例陈说了JavaScript模板引擎应用途景及贯彻原理。分享给大家供咱们仿照效法,具体如下:

AJAX = Asynchronous JavaScript and XML.,是后生可畏种成立火速动态网页的手艺。
AJAX 通过在后台与服务器沟通一点点多少的不二法门,允许网页进行异步更新。那表示有不小几率在不重载整个页面包车型客车意况下,对网页的后生可畏有的开展翻新。
经过 jQuery AJAX,你能够直接把远程数据载入网页被选HTML成分中。
Jquery Ajax常用的函数有两种,分别是:
$.post(url,data,callback,type卡塔尔(英语:State of Qatar):使用 HTTP POST 来加载远程数据;
$.get(url,data,callback,type卡塔尔:使用 HTTP GET 来加载远程数据;
$.ajax(options卡塔尔(英语:State of Qatar):把远程数据加载到 XMLHttpRequest 对象中;
只要必要对以上二种ajax函数做深入了然的,能够参照小编的博文“jQuery AJAX 函数安详严整与实例应用”。
实例:
ajax_load.html文件内容:

接纳第豆蔻梢头项,第二项、第三项的内容跟着变动。选用第二项,第三项的剧情跟着变动。第三项则不影响率先项和第二项。

生龙活虎、应用项景

复制代码 代码如下:

1.html毕竟是前台拼接依然后台拼接。

以下应用项景可以利用模板引擎:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ";
<html xmlns=";
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ajax_load.html</title>
</head>
<body>
<h2 style="color:#FF0000">小编是青眼虎李云,Jquery很好用!</h2>
</body>
</html>

自己选用的是前台拼接,那样能够节省流量,和后台的财富。那也正如相符程序处理,平时后台只负责提供数据。

1、假设您有动态ajax诉求数据并索要封装成视图呈现给顾客,想要升高和谐的工效。2、假使您是拼串族恐怕数组push族,急切的企盼改过现成的书写方式。3、假使您在页面构造中,存在共性模块和构造,你能够领抽出国有模板,减弱维护的多少。

index.html文件内容:

经过json传递给前台,完了前台获取进行拍卖。

二、达成原理

复制代码 代码如下:

function ajaxgetbigclass{ $.ajax({ type:"POST", async:false, url:"/default/index/ajax/do/ajaxgetbigclass", data:"typePOST", async:false, url:"/default/index/ajax/do/ajaxgetsmallclass", data:"bigclassbrush:php;">case 'ajaxgetbigclass': $typeid = trim($this->_getParam;$daoNews = new dao_news{ $bigClass = $daoNews->getBigClassByType; if{ $json = json_encode; echo $json; }else{ echo FALSE; }}else{ echo FALSE;}break;case 'ajaxgetsmallclass': $bigclassid = trim($this->_getParam;$daoNews = new dao_news();if{ $smallClass = $daoNews->getSmallClassByBigClass; if{ $json = json_encode; echo $json; }else{ echo FALSE; }}else{ echo FALSE;}break;

不相同模板间落成原理完全相符,各有优缺,请按需选取,以下示例以artTemplate模板引擎来分析。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ";
<html xmlns=";
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>使用Ajax post、get或Ajax方法来更改HTML内容</title>
<script type="text/javascript" src="jquery-1.6.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#button").click(function(){
//post方法异步获得ajax_load.html文件内容并出示于当前页:
/*
$.post("ajax_load.html",function(data){
//alert(data);
$("#changeCon").html(data);
});
*/
//get方法异步获得ajax_load.html文件内容并彰显于当前页:
/*
$.get("ajax_load.html",function(data){
$("#changeCon").html(data);
});
*/
//ajax方法异步获得ajax_load.html文件内容并出示于当前页:
$.ajax({
url:"ajax_load.html",
async:false,
success:function(data)
{
$("#changeCon").html(data);
}
})
});
})
</script>
</head>
<body>
<div id="changeCon"><h2>通过Ajax load改动此处内容</h2></div>
<input type="button" id="button" value="Click me" />
</body>
</html>

调用ajax函数,并拼接成html函数

2.1 模板寄放

如上,以上二种办法都能完毕相像的效用,此实例比较容易,对刚入门学Jquery ajax函数的朋友依然有必然的推搡的,越多的还要和煦多入手去品尝。

function setbigclass{ var flag = arguments[1] ? arguments[1] : false;//默认值 var res = ajaxgetbigclass; if{ myobj = eval; for(var i=0;i"+myobj[i].name+""; } $.html; }else{ var strHtml = "无子选项"; $.html; } if{ return myobj[0].id; }}function setsmallclass{ var res = ajaxgetsmallclass; if{ myobj = eval; var strHtml = "请选择"; for(var i=0;i"+myobj[i].name+""; } $.html; }else{ var strHtml = "请选择无子选项"; $.html; }}

${ //ajax级联 $.change{ var id = $; var res = setbigclass{ setsmallclass; }else{ setsmallclass; $.change{ var id = $; setsmallclass;

模板平日都以停放到textarea/input等表单控件,可能script[type="text/html"]等标签中,如下:

= Asynchronous JavaScript and XML.,是生龙活虎种创造飞快动态网页的本领。 AJAX 通过在后台与服务器交流一点点数量的方式,允许网页进行异步更新。...

2.后台查询函数化。

 {{if isAdmin}} &lt;h1&gt;{{title}}&lt;/h1&gt; &lt;ul&gt; {{each user as name i}} &lt;li&gt; {{i + 1}} &#65306;{{name}}&lt;/li&gt; {{/each}} &lt;/ul&gt; {{/if}}//textarea或input则取value,其它情况取innerHTML
public function getType($where = false, $order = 'typeid ASC', $pagesize = false, $offset = false, $count = false, $from = false, $join = false, $group = false){ return $this->getData($this->_typename,$where,$order,$pagesize,$offset,$count,$from,$join,$group);}public function getTypeName{ $where = array(); $aType = $this->getType{ if{ foreach ($aType as $key => $value) { $type[$key]['id'] = $value['typeid']; $type[$key]['name'] = $value['typename']; } return $type; }else{ foreach ($aType as $key => $value) { $type[$value['typeid']] = $value['typename']; } return $type; } }else{ return false; }}public function getBigClass($where = false, $order = 'BigClassID ASC', $pagesize = false, $offset = false, $count = false, $from = false, $join = false, $group = false){ return $this->getData($this->_bigname,$where,$order,$pagesize,$offset,$count,$from,$join,$group);}public function getBigClassByType($typeid = 60,$flag=false){ $where = array(); $where['BigClass.typeid =?'] = array("type"=>1,"val"=>$typeid); //print_r;exit; $from = array('BigClassID',"BigClassName","convert as BigClassMaster","typeid"); $aBigClass = $this->getBigClass($where, false, false, false, false,$from); if{ if{ foreach ($aBigClass as $key => $value) { $bigClass[$key]['id'] = $value['BigClassID']; $bigClass[$key]['name'] = $value['BigClassName']; } return $bigClass; }else{ foreach ($aBigClass as $key => $value) { $bigClass[$value['BigClassID']] = $value['BigClassName']; } return $bigClass; } }else{ return false; }}public function getSmallClass($where = false, $order = 'SmallClassID ASC', $pagesize = false, $offset = false, $count = false, $from = false, $join = false, $group = false){ return $this->getData($this->_smallname,$where,$order,$pagesize,$offset,$count,$from,$join,$group);}public function getSmallClassByBigClass($BigClassID = 221,$flag=false){ $where = array(); $where['SmallClass.BigClassID =?'] = array("type"=>1,"val"=>$BigClassID); //print_r;exit; $aSmallClass = $this->getSmallClass; if{ if{ foreach ($aSmallClass as $key => $value) { $smallClass[$key]['id'] = $value['SmallClassID']; $smallClass[$key]['name'] = $value['smallclassname']; } return $smallClass; }else{ foreach ($aSmallClass as $key => $value) { $smallClass[$value['SmallClassID']] = $value['smallclassname']; } return $smallClass; } }else{ return false; }}

2.2 模板函数

这么就可以多处接收,四种角度使用。

通常都以templateFun;里面id为寄存模板字符串的要素id,data为索要装载的数据。

3.前台js,文件化,同二个功力的js放在贰个js文件中。内容最终也函数化。

2.3 模板获取

请选择分类:

日常都以透过ID来获得,document.getElementById:

返回顶部