bootstrap的datepicker在選擇日期后調用某個方法


 

bootstrap的datepicker在選擇日期后調用某個方法

首先感謝網易LOFTER博主Ivy的博客,我才頓悟了問題所在,希望給后面用這幾款插件的童鞋一個提醒,別犯和我同樣的錯誤!

這里是lvy博主寫的博客:http://10305101ivy.blog.163.com/blog/static/5847658920135434648580/

API調用網上一大把,我就不介紹了,大家自己百度。但是一定要注意他們的不同用法

這里主要講的是區別:

 

一、bootstrap的datepicker:

2013年bootstrap火了,之后推出了許多使用插件,其中包括bootstrap的datepicker

 

Github開源地址:https://github.com/eternicode/bootstrap-datepicker

在線文檔:http://bootstrap-datepicker.readthedocs.org/en/latest/

 

二、datetimepicker:

此項目是bootstrap-datetimepicker 項目 的一個分支,原項目不支持 Time 選擇。
其它部分也進行了改進、增強,例如load 過程增加了對 ISO-8601 日期格式的支持。

具體的大家可以看看這兒http://www.bootcss.com/p/bootstrap-datetimepicker/

 

三、jQuery的datepicker:

jQuery UI很強大,其中的日期選擇插件Datepicker是一個配置靈活的插件,我們可以自定義其展示方式,包括日期格式、語言、限制選擇日期范圍、添加相關按鈕以及其它導航等。
官方地址:http://docs.jquery.com/UI/Datepicker,官方示例: http://jqueryui.com/demos/datepicker/

一個不錯的地址,用來DIY jQuery UI界面效果的站點http://jqueryui.com/themeroller/


我之前用到了bootstrap的datepicker

然后我使用了jquery的datepicker的調用方法,把兩者混淆了。

$('#job-calendar').datepicker({
            dateFormat: "yyyy-mm-dd",
            language: "zh-CN",
            onSelect: gotoDate
        });

function gotoDate(ev){

            window.location.href = "XXXX.html" + "?Date=" + ev.date.getFullYear().toString() + "-"+ (ev.date.getMonth()+1).toString()+ "-"+ ev.date.getDate().toString();
        }

得不到我要的選擇日期,頁面跳轉的效果。以為是版本的問題,更換最新版本后還是不行。后來才發現有兩款datepicker插件。

以下是bootstrap的datepicker的api調用方法。

$('#job-calendar').datepicker({
            dateFormat: "yyyy-mm-dd",
            language: "zh-CN",
            onSelect: gotoDate
        }).on('changeDate',gotoDate);

主要是想讓大家注意的是,看清楚自己用的是哪個插件,去找對應的api,一些細微的差別真夠折騰好久的!

 

 

 

下面介紹

 

bootstrap-datepicker的簡單使用

 
先說datepicker。 github上的地址是:https://github.com/eternicode/bootstrap-datepicker
 
           

在bundle里面引用添加js 和 css的引用。
bundles.Add(new StyleBundle("~/Content/css").Include( "~/Content/bootstrap.css", "~/Content/site.css", "~/Content/datepicker3.css"));
 
           
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include( "~/Scripts/bootstrap.js", "~/Scripts/respond.js", "~/Scripts/bootstrap-datepicker.js", "~/Scripts/bootstrap-datepicker.zh-CN.js"/*中文語言包*/ )); 
然后是html頁面代碼,很簡單,一個標簽即可:

<input type="text" class="datepicker" placeholder="請選擇日期" />

然后是寫js格式化:

復制代碼
<script type="text/javascript">
    $(function () {
        $(".datepicker").datepicker({
            language: "zh-CN",
            autoclose: true,//選中之后自動隱藏日期選擇框
            clearBtn: true,//清除按鈕
            todayBtn: true,//今日按鈕
            format: "yyyy-mm-dd"//日期格式,詳見 http://bootstrap-datepicker.readthedocs.org/en/release/options.html#format
        });
    });
</script>
復制代碼

如此,基本的功能就實現了,比較容易。

datepicker有一系列的方法,比如獲取/設置日期,基本的格式是:

$('.datepicker').datepicker('method', arg1, arg2);

比如獲取當前日期:

$(".datepicker").datepicker("getDate").toLocaleString();//獲取
$(".datepicker").datepicker("setDate", '2014-01-25');//設置

這個datepicker有個比較實用的功能,很多情況下我們給客戶選擇的是一個時間段,所有要求開始時間必須小於結束時間,這個功能datepicker已經幫我們實現了。
添加如下html標簽:

<div class="input-group input-medium date-picker input-daterange" data-date-format="yyyy-mm-dd">
    <input name="dtBegin" class="form-control" style="font-size: 13px;" type="text" value="">
    <span class="input-group-addon">到</span>
    <input name="dtEnd" class="form-control" style="font-size: 13px;" type="text" value="">
</div>

兩個input放在一個div中,格式相關的可以在div中設置,不需要后面每個重新設置。

執行如下js:

$(".date-picker").datepicker({
    language: "zh-CN",
    autoclose: true
});

效果如下:

當客戶選擇了開始時間比結束時間要大,結束時間自動變成開始時間。

datepicker介紹完畢。

 

下面介紹jquery.form.js

github項目地址:http://jquery.malsup.com/form/

園中能搜到很多文章,外加現在mvc中的Ajax.BeginForm() 也都實現相關的異步表單的功能。但是異步文件上傳這功能還是挺不錯的,外加進度條顯示,在前段時間公司項目中感覺挺實用的。

<form method="post" action="@Url.Action("ReceiveFile", new {controller = "Home" })" enctype="multipart/form-data">
    <input type="file" name="file1" />
</form>

定義form標簽的時候要注意enctype="mutipart/form-data"。

復制代碼
<script type="text/javascript">
    $(function () {
        $("[name=file1]").change(function () {//文件改變的時候觸發異步提交表單事件。
            $(this).parents("form").ajaxSubmit({
                uploadProgress: function (event,position,total,percent) {
                    //percent就是百分比了
                    console.log(percent);
                }
            });
        });
    });
</script>
復制代碼

 上述使用轉自:http://www.cnblogs.com/mymint/p/4512463.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM