knockout+bootstrap--一些复杂的应用合集
一、针对My97日历控件的绑定
普通绑定和特殊格式绑定(红色部分)
<!-- ko foreach: items -->
<td class="ruyeeTableTDLable"> <span>批准专业日期</span></td>
<td class="ruyeeTableDataCell">
<div class="input-group">
<input data-validation-engine="validate[maxSize[10]],validate[required],custom[date],"
data-bind="attr: { id: 'A7615' +$index(),value:A7615} " type="text" class="form-control">
<div class="input-group-addon ">
<span class="glyphicon glyphicon-calendar"
data-bind="attr: { onclick: 'WdatePicker({ el:A7615' + $index() + '})' }">
</span>
</div>
</div>
</td>
<td class="ruyeeTableTDLable"> <span>转业年份</span></td>
<td class="ruyeeTableDataCell">
<div class="input-group">
<input data-validation-engine="validate[maxSize[10]],validate[required],validate[date],"
data-bind="attr: { id: 'A7616' +$index(),value:A7616} " type="text" class="form-control">
<div class="input-group-addon ">
<span class="glyphicon glyphicon-calendar"
data-bind="attr: { id: 'WP_A7616_' +$index()} "></span>
</div>
</div>
</td>
<!-- /ko -->
/// <reference path="../knockout-3.2.0.js" />
var koList;
var deletedIds = Array();
var ViewModel = function (data, func) {
var self = this;
self.items = ko.mapping.fromJS(data.items);
self.struct = ko.mapping.fromJS(data.structV);
builLeftNva(self);
self.success = ko.observable();
self.success.subscribe(function (nv) {
var success = $.trim(nv);
) {
$('#success').modal('show');
}
});
self.canSubmit = ko.observable(false);
self.submit = function () {
if ($("#form_id").validationEngine("validate")) {
; i < koList().length; i++) {
//时间格式转换
koList()[i].A7615($('#A7615' + i).val());
koList()[i].A7616($('#A7616' + i).val());
}
$.ajax({
url: postOneModelActionUrl,
contentType: "application/json",
type: "POST",
data: ko.mapping.toJSON({ items: self.items, deletedIdList: deletedIds }),
success: function (response) {
self.success(response.Description);
},
async: false
});
}
};
self.closeSuccess = function () {
self.success('');
$('#success').modal('toggle');
};
self.deleteOne = function (item) {
self.items.remove(item);
if (item.ID() != null) {
deletedIds.push(item.ID());
}
}
self.addNew = function () {
//新增时的特殊处理
var js = ko.mapping.toJS(self.struct);
js.A7615 = getDateString();
js.A7616 = getDateString();
var newItem = ko.mapping.fromJS(js);
self.items.push(newItem);
func();
}
self.canSubmit(true);
$('#form_id').validationEngine();
koList = self.items;
//延时处理,解决KO性能问题
setTimeout(func, );
}
var refreshList = function () {
; i < koList().length; i++) {
//时间格式转换,如果是新增的(新增的ID为null)则无需转换
if (koList()[i].ID != null) {
$('#WP_A7616_' + i).click(function () {
WdatePicker({
dateFmt: 'yyyy-MM',
el: $('#A7616' + this.getAttribute('id').split('_')[2]).attr('id')
});
})
koList()[i].A7615(changeDateFormat(koList()[i].A7615()));
koList()[i].A7616(changeDateFormat(koList()[i].A7616(), null, null, null, false));
}
}
};
$(document).ready(function () {
$('#create').addClass('active');
$.ajax({
url: getStructActionUrl,
contentType: "application/json",
type: "POST",
data: JSON.stringify({ A01ID: QueryString.GetValue('a01id') }),
success: function (data) {
ko.attach("A76Model", new ViewModel(data, refreshList));
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
switch (XMLHttpRequest.status) {
:
changeLocationToLogin();
break;
}
}
});
})
knockout+bootstrap--一些复杂的应用合集的更多相关文章
- 从零开始学数据分析,什么程度可以找到工作?( 内附20G、5000分钟数据分析工具教程大合集 )
从零开始学数据分析,什么程度可以找到工作?( 内附20G.5000分钟数据分析工具教程大合集 ) 我现在在Coursera上面学data science 中的R programming,过去很少接 ...
- 不容错过的UI设计素材大合集
免费PSD素材 TETHR by InVision 这是出自InVision的8款PSD文件,其中包含了100个模板和超过500个UI控件.来自InVision和UI8的设计师一同协作完成了这套UI ...
- 你想找的Python资料这里全都有!没有你找不到!史上最全资料合集
你想找的Python资料这里全都有!没有你找不到!史上最全资料合集 2017年11月15日 13:48:53 技术小百科 阅读数:1931 GitHub 上有一个 Awesome - XXX 系列 ...
- 最新最全的 Android 开源项目合集
原文链接:https://github.com/opendigg/awesome-github-android-ui 在 Github 上做了一个很新的 Android 开发相关开源项目汇总,涉及到 ...
- 超全的 Vue 开源项目合集,签收一下
超全的 Vue 开源项目合集,签收一下 xiaoge2016 前端开发 1周前 作者:xiaoge2016 链接: https://my.oschina.net/u/3018050/blog/2049 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- 【Android】开发中个人遇到和使用过的值得分享的资源合集
Android-Classical-OpenSource Android开发中 个人遇到和使用过的值得分享的资源合集 Trinea的OpenProject 强烈推荐的Android 开源项目分类汇总, ...
- [Erlang 0122] Erlang Resources 2014年1月~6月资讯合集
虽然忙,有些事还是要抽时间做; Erlang Resources 小站 2014年1月~6月资讯合集,方便检索. 小站地址: http://site.douban.com/204209/ ...
- [Erlang 0114] Erlang Resources 小站 2013年7月~12月资讯合集
Erlang Resources 小站 2013年7月~12月资讯合集,方便检索. 附 2013上半年盘点: Erlang Resources 小站 2013年1月~6月资讯合集 小站地 ...
随机推荐
- c++ 泛型编程及模板学习
泛型编程,英文叫做Generic programming 可以理解为,具有通用意义的.普适性的,编程. 比如,你要实现一个函数去比较两个数值的大小,数值可能是int或者string.初次尝试,我们直观 ...
- dynamic_cast 和 static_cast 隐式类型转换的区别
首先回顾一下C++类型转换: C++类型转换分为:隐式类型转换和显式类型转换 第1部分. 隐式类型转换 又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion ...
- BP神经网络
秋招刚结束,这俩月没事就学习下斯坦福大学公开课,想学习一下深度学习(这年头不会DL,都不敢说自己懂机器学习),目前学到了神经网络部分,学习起来有点吃力,把之前学的BP(back-progagation ...
- Apriori 关联分析算法原理分析与代码实现
前言 想必大家都听过数据挖掘领域那个经典的故事 - "啤酒与尿布" 的故事. 那么,具体是怎么从海量销售信息中挖掘出啤酒和尿布之间的关系呢? 这就是关联分析所要完成的任务了. 本文 ...
- Neo4j批量插入(Batch Insertion)
新建一个maven工程,这里不赘述如何新建maven工程. 添加Neo4j jar到你的工程 有两种方式: 上网站官网下载jar包,根据自己的系统下载不同的压缩包,详细过程不描述,请自行搜索其他博客 ...
- mysql my.cnf 配置详解
#配置多实例声明[mysqld_multi]mysqld = /data/mysql_bin/bin/mysqld_safemysqladmin = /data/mysql_bin/bin/mysql ...
- idea-生成key的Java代码
import java.math.BigInteger; import java.util.Date; import java.util.Random; import java.util.Scanne ...
- HTML5上传图片到ASP.NET.MVC
@{ ViewBag.Title = "Home Page";} <!DOCTYPE HTML PUBLIC><html><head> < ...
- e
frame问题 以下面的frame为例: ? 1 <frame src=”xxx.html” id=”frameId” name=”frameName” /> (1)访问frame ...
- iOS页面传值-wang
iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例) 实现了以下iOS页面间传值:1.委托delegate方式:2.通知notific ...