Angularjs的My97DatePicker扩展

对于日期控件来说,My97DatePicker算得上是个优秀的东东了。好几个项目都用的它。

新项目中也是一样,不过区别是使用的Angularjs。二者不会冲突,不过以往情况下使用的 ng-model 在日期表单上无效。(应该算是对事件的处理上 二者出现了冲突)

针对这一问题,写了个简单的指令如下

my97NgExtension.js

angular.module(‘My97Ext‘, []).directive(‘datepicker‘, function () {
    return {
        restrict: ‘A‘,
        require: ‘?ngModel‘,
        scope: {},
        link: function (scope, element, attrs, ngModel) {
            if (!ngModel) return;
            element.on("blur",function () {
                var val = this.value;
                scope.$apply(function () {
                    ngModel.$setViewValue(val);
                });
            })
        }
    };
});

应用页面

<!DOCTYPE html>
<html ng-app="myApp">
<head lang="en">
    <title>AngularJS Datepicker</title>
    <meta charset="utf-8">
    <script src="/WdatePicker.js"></script>
    <script src="/angular.min.js"></script>
    <script src="/My97NgExtension.js"></script>
    <script>
        var app = angular.module(‘myApp‘, [‘My97Ext‘]);
        app.controller(‘MainCtrl‘, function ($scope) {
            $scope.Deadline = ‘2015-12-29‘;
        });
    </script>
</head>
<body  ng-controller="MainCtrl">
    <input id="dt" datepicker class="Wdate" type="text" onclick="WdatePicker()" placeholder="报名截止时间" ng-model="Deadline" />
    <br />
    截止日期:{{Deadline}}
    <hr />
    <input type="text" ng-model="Deadline" />
</body>
</html>

使用时多添加扩展指令,然后在日期表单上添加 datepicker属性即可

时间: 2024-11-05 00:07:59

Angularjs的My97DatePicker扩展的相关文章

angularJs的过滤器扩展及自定义过滤器

一.过滤器扩展 1.过滤器的组合使用 <!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script src="angular.min.js&

ionic入门之AngularJS扩展(一)

ionic ionic是一个强大的混合式/hybridHTML5移动开发框架,特点是使用标准的HTML. CSS和JavaScript,开发跨平台(目前支持:Android.iOS,计划支持:Windows Phone.Firefox OS) 的原生App应用: ionic主要包括三个部分: CSS框架 - 提供原生App质感的CSS样式模拟.ionic这部分的实现使用了ionicons图标样式库. JavaScript框架 - ionic基于AngularJS基础框架开发,遵循AngularJ

ionic入门之AngularJS扩展

ionic ionic是一个强大的混合式/hybridHTML5移动开发框架,特点是使用标准的HTML. CSS和JavaScript,开发跨平台(目前支持:Android.iOS,计划支持:Windows Phone.Firefox OS) 的原生App应用: ionic主要包括三个部分: CSS框架 - 提供原生App质感的CSS样式模拟.ionic这部分的实现使用了ionicons图标样式库. JavaScript框架 - ionic基于AngularJS基础框架开发,遵循AngularJ

angularjs基本简介

之前讲述过一些关于easyUI的基本用法,现在给大家简述一下angularjs与easyUI的区别. 首先区分一下angularjs与easyUI 1.angularjs是html和js之间的数据衔接层,可以操控html元素(数据绑定.重复.隐藏)等,上手很容易,但想要精通,了解内部运行机制不容易. 2.jquery脚本是一个 JavaScript 函数库,与angularjs作用一直,但更偏重于操作dom元素,对dom遍历和修改. 3.easyUI是基于jQuery的框架,它侧重于页面显示部分

AngularJs学习第一章(来自angularJS菜鸟教程)

AngularJS是一个JavaScript框架,它可以通过<script>标签添加到HTML页面.是一个JavaScript编写的库 AngularJS通过指令扩展了HTML,且通过表达式绑定数据到HTML 最好放在<body>元素的底部这样会提高网页加载速度,因为HTML加载不受制于脚本加载. AngularJs扩展了HTML--四大指令 1.Angular 通过ng-dircctives扩展了HTML 2.ng-app指令定义一个AngularJs应用程序 3.ng-mode

AngularJs我的学习整理(不定时修改)

最近一月份的日子,学习了AngularJs,还只是刚刚入门而已.了解了基本的语法规则以及很简单的应用.仔细想想,学习AngularJs的时间大概半个月的时间,每天花在AngularJs上两三个小时. 在短短的学习入门时间,也想简简单单地做一个阶段性的总结.下一次的学习应该是进阶.计划准备在NodeJs入门之后进阶AngularJs和NodeJs. AngularJs是什么东东? AngularJS 使得开发现代的单一页面应用程序变得更加容易(单一页面应用程序SPAs:Single Page Ap

angularJS 学习之路

AngularJS 通过 ng-directives 扩展了 HTML. ng-app 指令定义一个 AngularJS 应用程序.也就是angularjs作用的入口  作用在什么标签或者整个body内部 ng-model 指令把元素值(比如输入域的值)绑定应用程序数据到 HTML 控制器(input, select, textarea).双向绑定 ng-bind 指令把应用程序数据绑定到 HTML 视图.多用于显示内容常用span标签 ng-init 指令初始化 AngularJS 应用程序变

AngularJS(1)

在讲正题之前,先说一下有关angular简介方面的信息: 1. angularJS  诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心的是:MVC.模块化.自动化双向数据绑定.语义化标签.依赖注入等等. 2. AngularJS 是一个 JavaScript 框架.它可通过 <script> 标签添加到 HTML 页面. 3. AngularJS 通过 指令 

JavaScript强化教程——AngularJS 指令

本文为 H5EDU 机构官方 HTML5培训 AngularJS 通过被称为 指令 的新属性来扩展 HTML. AngularJS 通过内置的指令来为应用添加功能. AngularJS 允许你自定义指令. AngularJS 指令 AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-. ng-app 指令初始化一个 AngularJS 应用程序. ng-init 指令初始化应用程序数据. ng-model 指令把元素值(比如输入域的值)绑定到应用程序. 完整的指令内容可以参阅 An