昨天,咱們嘗試使用Kalendae實(shí)現(xiàn)年份的多選事件,結(jié)果發(fā)現(xiàn),該插件不能實(shí)現(xiàn)月份以及年份的選擇,更不必說(shuō)年份的多選的事件了。筆者也不愿多做深究,既然My97DatePicker可以定義選擇年份,何不簡(jiǎn)單的改寫(xiě)改寫(xiě)它。筆者秉著這個(gè)思路,繼續(xù)往皮毛之下探索。
先看一下My97DatePicker的習(xí)性,俗語(yǔ)講知己知彼,是吧。這個(gè)插件調(diào)用之后會(huì)改變調(diào)用位置的顯示內(nèi)容為當(dāng)前選擇日期。而且還可以給點(diǎn)擊位置之外的地方,賦值(筆者就準(zhǔn)備利用這點(diǎn))。
一、通過(guò)My97DatePicker自帶img
二、通過(guò)My97DatePicker插件重新賦值的事件,定義多選函數(shù)
var already_select_year = [];//已將選擇的年份數(shù)組,若存在刷新當(dāng)前。此處的初始值應(yīng)為,封裝數(shù)據(jù)所得。并且初始化加載時(shí),應(yīng)同步顯示已選擇的年份。
function get_real_select_year(){
var nowYear = $("#real_function_position").val();
//判斷,當(dāng)前年份是否為空
if(nowYear != null & nowYear != ''){
//判斷,當(dāng)前年份,是否在選的數(shù)組中
var index = $.inArray(nowYear, already_select_year);
if(index > -1){//含有該列,則不做處理
return;
}else{//展示,用戶(hù)的選擇。并數(shù)組存儲(chǔ)
already_select_year.push(nowYear);
//展示
document.getElementById("show_user_select").innerHTML +=
"" + nowYear + " "
}
}else{
return;
}
}
三、年份選擇后的刪除
//刪除,當(dāng)前所選年份事件
function delete_select(id){
//數(shù)組中除去,該元素
delete_shuzu(already_select_year, id);
//清除,用戶(hù)輸入顯示
$("#"+ id).remove();
}
//刪除數(shù)組中的元素
function delete_shuzu(arry, obj){
for (var i = 0; i < arry.length; i++){
if(arry[i] == obj){
arry.splice(i, 1);
break;
}
}
}
四、貼出整體代碼
My97DatePicker實(shí)現(xiàn)年份多選
五、實(shí)現(xiàn)效果
筆者認(rèn)為,定會(huì)有比這更好的實(shí)現(xiàn)方式?;蛘吖P者寫(xiě)的還有未知的bug,期待有興趣的人繼續(xù)探究。筆者現(xiàn)在在想,不玩游戲干點(diǎn)啥呢。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。