亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery購物車插件jsorder用法(支持后臺處理程序直接轉換成DataTable處理)

2019-11-20 09:45:35
字體:
來源:轉載
供稿:網友

本文實例講述了jQuery購物車插件jsorder用法。分享給大家供大家參考,具體如下:

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"/><title></title><script type="text/javascript" src="../js/jquery-1.9.1.min.js" ></script><link href="./demo.css" rel="stylesheet"/><link href="../css/order.css" rel="stylesheet"/><script type="text/javascript" src="../js/cookie.js" ></script><script type="text/javascript" src="../js/jsorder.1.1.js" ></script></head><body>  <h1>JSORDER 案例</h1>  <table><tr><td colspan="3" align="left">案例一:我的菜單(點擊菜名即可加入菜單)</td></tr><tr>      <td class="jsorderadd" id="80001" productid="80001" price="12" jsordername="紅燒豆腐">紅燒豆腐 12元</td>      <td class="jsorderadd" id="80002" productid="80002" price="32" jsordername="毛血旺">毛血旺 32元</td>      <td class="jsorderadd" id="80003" productid="80003" price="18" jsordername="套餐:京醬肉絲+2米飯 18元">套餐:京醬肉絲+2米飯 18元</td></tr></table>  <div id="result"></div></body></html><script type="text/javascript">//jsorder配置  $.fn.jsorder.defaults = {    staticname: 'jsorder',    jsorderclass: 'jsorder',    savecookie: true,    cookiename: 'jsorder',    numpre: 'no_',    jsorderpre: 'jsorder_',    jsorderspanpre: 'jsorderspan_',    pricefiled: 'price',    namefiled: 'jsordername',    leftdemo: '我的菜單',    subbuttom: '',    //addbuttom : 'a.jsorderadd',    addbuttom: 'td.jsorderadd',    nomessage: '你今天的食譜是還空的',    dosubmit: function (data) {      alert(JSON.stringify(data));      //$("#result").html("json內容:" + JSON.stringify(data)).css('background', '#e0e0e0');      jsonAjax("ShoppingCar.ashx", JSON.stringify(data), "text", getsuccess);    }  };$("body").jsorder();function jsonAjax(url, param, datat, callback) {  $.ajax({    type: "post",    url: url,    data: param,    dataType: datat,    success: callback,    error: function () {      jQuery.fn.mBox({        message: '恢復失敗'      });    }  });};function getsuccess(o) {  //alert(o);  //成功后操作}</script>
<%@ WebHandler Language="C#" Class="ShoppingCar" %>using System;using System.Web;using System.Data;using System.Web.Script.Serialization;using System.Collections.Generic;using System.Collections;using System.IO;public class ShoppingCar : IHttpHandler{  public void ProcessRequest(HttpContext context)  {    context.Response.ContentType = "text/plain";    StreamReader reader = new StreamReader(context.Request.InputStream);    string jsonString = HttpUtility.UrlDecode(reader.ReadToEnd());    if (MSCL.Until.IsNullOrDBNull(jsonString))    {      context.Response.Write("error");    }    else    {      jsonString = "{/"goods/": [" + jsonString + "]}";      DataSet ds = JsonToDataSet(jsonString); //獲取的購物車商品列表      context.Response.Write("ok");    }    context.Response.End();  }  #region 解析Json成DataTable  /// <summary>  /// 解析Json成DataTable  /// </summary>  /// <param name="Json">Json字符串</param>  /// <returns></returns>  public static DataSet JsonToDataSet(string Json)  {    try    {      DataSet ds = new DataSet();      DataTable dt = new DataTable("shoppingcar");      JavaScriptSerializer JSS = new JavaScriptSerializer();      object obj = JSS.DeserializeObject(Json);      Dictionary<string, object> datajson = (Dictionary<string, object>)obj;      foreach (var item in datajson)      {        object[] rows = (object[])item.Value;        foreach (var row in rows)        {          Dictionary<string, object> valneed = (Dictionary<string, object>)row;          foreach (var needrow in valneed.Values)          {            #region            Dictionary<string, object> val = (Dictionary<string, object>)needrow;            DataRow dr = dt.NewRow();            foreach (KeyValuePair<string, object> sss in val)            {              if (!dt.Columns.Contains(sss.Key))              {                dt.Columns.Add(sss.Key.ToString());                dr[sss.Key] = sss.Value;              }              else                dr[sss.Key] = sss.Value;            }            dt.Rows.Add(dr);            #endregion          }        }      }      ds.Tables.Add(dt);      return ds;    }    catch    {      return null;    }  }  #endregion  public bool IsReusable  {    get    {      return false;    }  }}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>  <title>讀取本地購物車Cookie</title>  <script type="text/javascript" src="../js/jquery-1.9.1.min.js" ></script>  <link href="./demo.css" rel="stylesheet"/>  <link href="../css/order.css" rel="stylesheet"/>  <script type="text/javascript" src="../js/cookie.js" ></script>  <script type="text/javascript" src="../js/jsorder.1.1.js" ></script>  <script type="text/javascript">    //初始化配置    var staticname = 'jsorder';    var jsorderpre = 'jsorder_';    var html = "";    $(function () {      if ($.cookie(staticname) != null && $.cookie(staticname) != '{}') {        $("#list").html("");        initdata = eval('(' + $.cookie(staticname) + ')'); //序列化成數組        $("body").data(staticname, initdata);        //alert(JSON.stringify(initdata));        $.each(initdata, function (index, item) {          //循環獲取數據          var Id = initdata[index]["productid"];          var Name = initdata[index]["name"];          var Price = initdata[index]["price"];          var Count = initdata[index]["count"];          var innerhtml = "<li id='" + jsorderpre + Id + "'>";          innerhtml += Id + "--" + Name + "--" + Price + " ";          innerhtml += "<a href='javascript:void(0)' style='text-decoration:none;' onclick='subnum(" + Id + ")'> - </a><span id='count" + Id + "' >" + Count;          innerhtml += "</span><a href='javascript:void(0)' style='text-decoration:none;' onclick='addnum(" + Id + ")'> + </a>";          innerhtml += "</li>"          html += innerhtml;        });        $("#list").append(html);      }    });    function subnum(id) {      var datejsorder = $("body").data(staticname);      datejsorder[id]['count'] -= 1;      if (datejsorder[id]['count'] > 0) {        $("#count" + id).html(datejsorder[id]['count']);      } else {        $("#" + jsorderpre + id).remove();        delete datejsorder[id]; //del json keyValue      }      savecookie(datejsorder);    }    function addnum(id, count) {      var datejsorder = $("body").data(staticname);      datejsorder[id]['count'] += 1;      $("#count" + id).html(datejsorder[id]['count']);      savecookie(datejsorder);    }    function savecookie(data) {      var date = new Date();      date.setTime(date.getTime() + (1 * 24 * 60 * 60 * 1000));      $.cookie(staticname, JSON.stringify(data), {        path: '/',        expires: date      });    }    function dosubmit() {      var datejsorder = $("body").data(staticname);      alert(JSON.stringify(datejsorder));      //$("#result").html("json內容:" + JSON.stringify(data)).css('background', '#e0e0e0');      jsonAjax("ShoppingCar.ashx", JSON.stringify(datejsorder), "text", getsuccess);    }    function getsuccess(o) {      //alert(o);      //成功后操作    }    function jsonAjax(url, param, datat, callback) {      $.ajax({        type: "post",        url: url,        data: param,        dataType: datat,        success: callback,        error: function () {          jQuery.fn.mBox({            message: '恢復失敗'          });        }      });    };  </script></head><body><div>  <ul id="list">  <li>購物車里暫無商品</li>  </ul>  <input type="button" value="確定,下一步" onclick="dosubmit();" /></div></body></html>

更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jquery中Ajax用法總結》、《jQuery表格(table)操作技巧匯總》、《jQuery拖拽特效與技巧總結》、《jQuery擴展技巧總結》、《jQuery常見經典特效匯總》、《jQuery動畫與特效用法總結》、《jquery選擇器用法總結》及《jQuery常用插件及用法總結

希望本文所述對大家jQuery程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久成人精品| 日韩欧美在线免费| 久久av在线播放| 日韩精品高清在线| 欧美日韩综合视频网址| 亚洲国产日韩欧美在线99| 亚洲字幕一区二区| 日韩欧美综合在线视频| 日韩欧美在线视频免费观看| 一区二区三区视频免费| 国模私拍一区二区三区| 91久久精品日日躁夜夜躁国产| 狠狠久久亚洲欧美专区| 亚洲国产成人久久综合一区| 97视频在线观看免费| 亚洲美女精品成人在线视频| 欧美高清videos高潮hd| 亚洲国产精品中文| 亚洲精品日韩激情在线电影| 社区色欧美激情 | 精品亚洲一区二区三区在线观看| 国产精品麻豆va在线播放| 九九热在线精品视频| 中文在线资源观看视频网站免费不卡| 中文字幕日韩欧美在线视频| 国产精品稀缺呦系列在线| 亚洲成人激情在线观看| 一区二区三区回区在观看免费视频| 国产精品成人观看视频国产奇米| 国产视频精品va久久久久久| 亚洲精品v天堂中文字幕| 91高清视频免费观看| 成人黄色激情网| 精品欧美一区二区三区| 国产一区二区三区在线观看视频| 久久视频在线视频| 免费不卡欧美自拍视频| 久久色精品视频| 欧美第一页在线| 国产精品福利网站| 亚洲成人久久久久| 国产精品999999| 亚洲视频在线视频| 成人免费视频xnxx.com| 国产精品露脸自拍| 久久精品国产久精国产思思| 91国产精品视频在线| 欧美天堂在线观看| 最新的欧美黄色| 日韩毛片在线观看| 国产成+人+综合+亚洲欧美丁香花| 亚洲免费福利视频| 精品国产福利视频| 成人午夜在线影院| 欧美成人精品一区二区| 亚洲电影天堂av| 中文字幕av日韩| 国产一区二区美女视频| 2019中文字幕在线免费观看| 欧美成年人视频网站欧美| 精品国产鲁一鲁一区二区张丽| 亚洲精选在线观看| 国产在线播放不卡| 国产97免费视| 国产美女直播视频一区| 97在线观看免费| 成人免费看吃奶视频网站| 久久免费国产视频| 久久国产精品久久久久| 爽爽爽爽爽爽爽成人免费观看| 国产日韩欧美在线观看| 国产精品免费一区豆花| 日韩成人激情在线| 日韩av大片免费看| 韩剧1988在线观看免费完整版| 久久不射热爱视频精品| 久久91精品国产91久久跳| 欧美久久精品一级黑人c片| 欧美夜福利tv在线| 久久亚洲一区二区三区四区五区高| 在线看福利67194| 91精品国产91久久久久福利| 国产啪精品视频| 97超级碰在线看视频免费在线看| 精品女同一区二区三区在线播放| 精品久久久久久电影| 91sa在线看| 欧美激情第99页| 欧美诱惑福利视频| 中文字幕国内精品| 日韩美女激情视频| 久久久久这里只有精品| 91国产精品电影| 久久精品亚洲94久久精品| 国产精品女主播视频| 国产成人鲁鲁免费视频a| 青草青草久热精品视频在线观看| 国产精品88a∨| 欧美成人合集magnet| 久久久成人精品| 久久人人爽国产| 亚洲日本中文字幕| 亚洲成人aaa| 亚洲精选一区二区| 欧美国产视频日韩| 欧美性极品xxxx做受| 国产亚洲精品美女久久久| 国模吧一区二区| 亚洲精品国产福利| 成人高清视频观看www| 久久亚洲精品一区二区| 欧美成人剧情片在线观看| 欧美一区二区大胆人体摄影专业网站| 精品高清美女精品国产区| 日韩欧美在线视频日韩欧美在线视频| 欧美激情xxxx性bbbb| 日本不卡高字幕在线2019| 自拍视频国产精品| 亚洲欧美日韩天堂| 欧美情侣性视频| 亚洲欧美激情在线视频| 成人在线观看视频网站| 成人春色激情网| 成人午夜一级二级三级| 国产精品福利无圣光在线一区| 这里只有精品在线观看| 欧美日韩一区二区免费在线观看| 亚洲日韩中文字幕| 亚洲人成网站999久久久综合| 久99久在线视频| 国产精品三级久久久久久电影| 亚洲精品一区二区三区婷婷月| 欧美精品久久久久a| 韩国国内大量揄拍精品视频| 欧美裸体视频网站| 久久综合免费视频影院| 欧美大全免费观看电视剧大泉洋| 2020欧美日韩在线视频| 中文字幕亚洲一区二区三区| 日韩av网站大全| 日本一区二区在线播放| 午夜精品蜜臀一区二区三区免费| 色偷偷888欧美精品久久久| 亚洲精品98久久久久久中文字幕| 亚洲va男人天堂| 久久精品成人一区二区三区| 精品亚洲男同gayvideo网站| 日韩国产欧美精品在线| 91国产一区在线| 国产做受高潮69| 国产视频丨精品|在线观看| 国内精品久久久久久| 国产成人拍精品视频午夜网站| 国产精品久久久久久网站| 操日韩av在线电影| 国产自产女人91一区在线观看| 国产区亚洲区欧美区| 久久久精品一区二区三区| 欧美另类老肥妇| 日韩一区二区av| 欧美激情一区二区三区高清视频| 国产精品成人av在线| 欧美二区在线播放| 欧美—级a级欧美特级ar全黄|