数码控科技猎奇Iphone动漫星座游戏电竞lolcosplay王者荣耀攻略allcnewsBLOGNEWSBLOGASKBLOGBLOGZSK全部技术问答问答技术问答it问答代码软件新闻开发博客电脑/网络手机/数码笔记本电脑互联网操作系统软件硬件编程开发360产品资源分享电脑知识文档中心IT全部全部分类 全部分类技术牛文全部分类教程最新 网页制作cms教程平面设计媒体动画操作系统网站运营网络安全服务器教程数据库工具网络安全软件教学vbscript正则表达式javascript批处理更多»编程更新教程更新游戏更新allitnewsJava 新闻网络医疗信息化安全创业站长电商科技访谈域名会议专栏创业动态融资创投创业学院 / 产品经理创业公司人物访谈营销 开发数据库服务器系统虚拟化云计算 嵌入式移动开发作业作业1常见软件all电脑网络手机数码生活游戏体育运动明星影音休闲爱好文化艺术社会民生教育科学医疗健康金融管理情感社交地区其他电脑互联网软件硬件编程开发360相关产品手机平板其他电子产品摄影器材360硬件通讯智能设备购物时尚生活常识美容塑身服装服饰出行旅游交通汽车购房置业家居装修美食烹饪单机电脑游戏网页游戏电视游戏桌游棋牌游戏手机游戏小游戏掌机游戏客户端游戏集体游戏其他游戏体育赛事篮球足球其他运动球类运动赛车健身运动运动用品影视娱乐人物音乐动漫摄影摄像收藏宠物幽默搞笑起名花鸟鱼虫茶艺彩票星座占卜书画美术舞蹈小说图书器乐声乐小品相声戏剧戏曲手工艺品历史话题时事政治就业职场军事国防节日风俗法律法规宗教礼仪礼节自然灾害360维权社会人物升学入学人文社科外语资格考试公务员留学出国家庭教育学习方法语文物理生物工程学农业数学化学健康知识心理健康孕育早教内科外科妇产科儿科皮肤科五官科男科整形中医药品传染科其他疾病医院两性肿瘤科创业投资企业管理财务税务银行股票金融理财基金债券保险贸易商务文书国民经济爱情婚姻家庭烦恼北京上海重庆天津黑龙江吉林辽宁河北内蒙古山西陕西宁夏甘肃青海新疆西藏四川贵州云南河南湖北湖南山东江苏浙江安徽江西福建广东广西海南香港澳门台湾海外地区

Knockout结合Bootstrap创建动态UI实现产品列表管理

日期:2016/9/28 14:38:00 来源:本网整理
s">

Knockout结合Bootstrap创建动态UI实现产品列表管理

作者:巴别通天塔 字体:[增加 减小] 类型:转载 时间:2016-09-14 我要评论

这篇文章主要为大家详细介绍了Knockout结合Bootstrap创建动态UI实现产品列表管理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ">

本篇文章结合Bootstrap创建一个比较完整的应用,对产品列表进行管理,包括产品的增加、删除、修改。 

需要的引用 

<script type='text/javascript' src='http://www.see-source.com/js/knockout-2.2.0.js'></script>
<script type='text/javascript' src='http://www.see-source.com/js/jquery-1.6.2.min.js'></script>
<link href="http://www.see-source.com/bootstrap/css/bootstrap.css" rel="stylesheet"> 


Html代码 

<body>
<!-- 动态生成产品列表 -->
<table class="table table-bordered">
  <thead>
   <tr>
     <th>ID</th>
     <th>产品名称</th>
     <th>原价</th>
     <th>促销价</th>
     <th>操作</th>
   </tr>
  </thead>
  <tbody data-bind="foreach: products">
   <tr > 
     <td> 
      <span data-bind="text: $data.Id"></span> 
     </td> 
     <td>  
      <input type="text" data-bind="value: $data.Name"/> 
     </td> 
     <td>
      <input type="text" data-bind="value: $data.Price"/> 
     </td> 
     <td> 
      <input type="text" data-bind="value: $data.ActualCost"/> 
     </td> 
     <td> 
      <input type="button" class="btn" value="修改" data-bind="click: $root.update"/> 
      <input type="button" class="btn" value="删除" data-bind="click: $root.remove"/> 
     </td> 
   </tr> 
  </tbody>
</table>
<!-- 产品添加form -->
<form class="form-horizontal" data-bind="submit:$root.create">
    <fieldset>
     <legend>添加产品</legend>
     <div class="control-group">
      <label class="control-label" for="input01">产品名称</label>
      <div class="controls">
       <input type="text" name="Name" class="input-xlarge">
      </div>
     </div>
     <div class="control-group">
      <label class="control-label" for="input01">原价</label>
      <div class="controls">
       <input type="text" name="Price" class="input-xlarge">
      </div>
     </div>
     <div class="control-group">
      <label class="control-label" for="input01">促销价</label>
      <div class="controls">
       <input type="text" name="ActualCost" class="input-xlarge">
      </div>
     </div> 
     
     
     <div class="form-actions">
      <button type="submit" class="btn btn-primary">保存</button>
      <button class="btn">取消</button>
     </div>
    </fieldset>
</form>
</body>

js代码 

<script type="text/javascript">
function ProductsViewModel() { 
  var baseUri = 'http://localhost:8080/knockout/'; 
  var self = this; 
  //self.products = ko.observableArray([{'Id':'111','Name':'联想K900','Price':'3299','ActualCost':'3000'},{'Id':'222','Name':'HTC one','Price':'4850','ActualCost':'4500'}]); 
   self.products = ko.observableArray();
  
  $.getJSON(baseUri + "list", self.products);//加载产品列表

  //添加产品
  self.create = function (formElement) {       
    $.post(baseUri + "add", $(formElement).serialize(), function(data) {
       if(data.success){//服务器端添加成功时,同步更新UI
        var newProduct = {};
        newProduct.Id = data.ID;
        newProduct.Name = formElement.Name.value;
        newProduct.Price = formElement.Price.value; 
        newProduct.ActualCost = formElement.ActualCost.value; 
        self.products.push(newProduct);
       }
    },"json"); 
  } 
  //修改产品
  self.update = function (product) {
    $.post(baseUri + "update", product, function(data) {
       if(data.success){
         alert("修改成功");
       }
    },"json"); 
  } 
  
  //删除产品
  self.remove = function (product) { 
    $.post(baseUri + "delete", "productID="+product.Id, function(data) {
       if(data.success){
        //服务器端删除成功时,UI中也删除
        self.products.remove(product);
       }
    },"json"); 
    
  } 
}
ko.applyBindings(new ProductsViewModel());

</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持突袭网。

  • 本文相关:
  • AngularJS 表达式详解及实例代码
  • 再谈javascript注入 黑客必备!
  • jQuery实现可拖拽的许愿墙效果【附demo源码下载】
  • 什么是JavaScript注入攻击?
  • jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
  • AngularJS 指令的交互详解及实例代码
  • Bootstrap精简教程中秋大放送
  • Node.js connect ECONNREFUSED错误解决办法
  • js点击按钮实现水波纹效果代码(CSS3和Canves)
  • 基于JS+Canves实现点击按钮水波纹效果
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved