業界的には気づくの遅いか??
jTemplates
javascript内に書いたり、
HTMLコメントとして書いたり、
いろいろできるっぽいけど
テンプレートファイルに書き出すのがスマートっぽい。
テンプレートファイル
templateフォルダにsample.tplとか置いてみる。
JavaScript
jqueryと一緒に読み込んで、$(document).readyで書いてみる。
ちなみにjqueryは1.4.2
なんとまあ便利なんだろうか!!
$(function(){
$('#convertButton').click(function(){
var d = $('#date_text').val();
$('#result').html(d.getSeireki('漢字', true));
});
});
var weeks = ["日","月","火","水","木","金","土"];
String.prototype.getSeireki = function(pattern, day) {
var ret = this.match(/[0-9]+/g);
var wareki = '';
var year = -1;
var month = -1;
var date = -1;
if (ret.length == 1) {
year = ret[0];
wareki = this.substring(0,this.indexOf(ret[0]));
} else if (ret.length == 2) {
year = ret[0];
wareki = this.substring(0,this.indexOf(ret[0]));
month = ret[1];
} else if (ret.length == 3) {
year = ret[0];
wareki = this.substring(0,this.indexOf(ret[0]));
month = ret[1];
date = ret[2];
} else {
return '';
}
var result = '';
if ("昭和" == wareki || "S" == wareki) {
result = parseInt(year) + 1925;
} else if ("平成" == wareki || "H" == wareki) {
result = parseInt(year) + 1988;
} else if ("大正" == wareki || "T" == wareki) {
result = parseInt(year) + 1911;
} else if ("明治" == wareki || "M" == wareki) {
result = parseInt(year) + 1867;
}
var divYear = '';
var divMonth = '';
var divDate = '';
if (pattern == undefined || pattern == '漢字') {
pattern = 1;
divYear = '年';
divMonth = '月';
divDate = '日';
} else if (pattern == '-') {
pattern = 2;
divYear = '-';
divMonth = '-';
divDate = '';
} else if(pattern == '/') {
pattern = 3;
divYear = '/';
divMonth = '/';
divDate = '';
} else {
pattern = 3;
}
if (ret.length == 1) {
return result + divYear;
} else if (ret.length == 2) {
return result + divYear + month + divMonth;
} else if (ret.length == 3) {
var dispDay = '';
if (day == true) {
var strDate = result + '/' + (month) + '/' + date;
var d = new Date(strDate);
var youbi = weeks[d.getDay()];
if (pattern == 1) {
dispDay = ' ' + youbi + '曜日';
} else if (pattern == 2 || pattern == 3) {
dispDay = ' (' + youbi + ')';
}
}
return result + divYear + month + divMonth + date + divDate + dispDay;
}
}
ソートしたい場合は、class="sortable"を記述する
first name | last name | age | total | discount | date |
---|---|---|---|---|---|
peter | parker | 28 | $9.99 | 20% | jul 6, 2006 8:14 am |
john | hood | 33 | $19.99 | 25% | dec 10, 2002 5:14 am |
clark | kent | 18 | $15.89 | 44% | jan 12, 2003 11:14 am |
bruce | almighty | 45 | $153.19 | 44% | jan 18, 2001 9:12 am |
bruce | evans | 22 | $13.19 | 11% | jan 18, 2007 9:12 am |
ソートしたくない場合は、class="nosort"を記述する
first name | last name | age | total | discount | date |
---|---|---|---|---|---|
peter | parker | 28 | $9.99 | 20% | jul 6, 2006 8:14 am |
john | hood | 33 | $19.99 | 25% | dec 10, 2002 5:14 am |
clark | kent | 18 | $15.89 | 44% | jan 12, 2003 11:14 am |
bruce | almighty | 45 | $153.19 | 44% | jan 18, 2001 9:12 am |
bruce | evans | 22 | $13.19 | 11% | jan 18, 2007 9:12 am |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<title> .:: Sample Play Keepaway ::.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="cache-control" content="no-cache">
<meta name="Author" content="Sample">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script language="Javascript" type="text/javascript"><!--
function onclick_action() {
document.getElementById('result').innerHTML = 'onclickイベント';
return false;
}
function ondblclick_action() {
document.getElementById('result').innerHTML = 'ondblclickイベント';
return false;
}
function init() {
document.getElementById('result').innerHTML = '';
return false;
}
//--></script>
</head>
<body>
<ul>
<li><a href="#" onclick="return onclick_action();">onclickイベント発動</a></li>
<li><a href="#" ondblclick="return ondblclick_action();">ondblclickイベント発動</a></li>
<li><a href="#" onclick="return onclick_action();" ondblclick="return ondblclick_action();">どっちでもイベント発動</a></li>
<li><a href="#" onclick="return init();">初期化</a></li>
</ul>
<div id="result"></div>
</body>
</html>