###前提・実現したいこと
JKL.Calendarv
で複数のカレンダーを利用する場合のソースをまとめたい
入力フォームの日付入力欄でJKL.Calendarvを使って
カレンダーを表示させたいのですが、
日付入力欄が1ページに1箇所~7箇所と幅があるので、
(合計200ページ位、日付入力欄が1箇所のページは120ページ位)
サンプルの書き方ではなく、日付入力欄何箇所の場合でも対応できる用にしたいです。
evalを使って作成しましたが、
evalは使わない方がよいとのことでした。
別の方法があればご教示頂ければ幸いです。
よろしくお願いします。
###該当のソースコード
<html> <head> <script src="jquery.js"></script> <script src="HolidayChk.js" language="JavaScript"></script> <head> <form id="formid1"> 日付: <input class="daytxt"name="txtbox1" type="text"><br> <div id="calid1" class="calendardisp"></div> 日付: <input class="daytxt" name="txtbox2" type="text"><br> <div id="calid2" class="calendardisp"></div> 日付: <input class="daytxt" name="txtbox3" type="text"><br> <div id="calid3" class="calendardisp"></div> </form> </body> </html>
<script type="text/javascript" language="JavaScript"> <!-- var elements = document.getElementsByTagName( "form" ); var formid= elements[0].id; var classCount = $(".calendardisp").length; for ( var i = 1, L=classCount+1; i<L; i++ ) { eval('cal' + i +'= new JKL.Calendar(("calid"+i ),(formid),("txtbox"+i))'); } //--> </script> <script type="text/javascript"> <!-- $(function () { $('.daytxt').click(function () { var divnum =parseInt( ($(this).attr('name')).slice(-1)); var classCount = $(".daytxt").length; for (var j = 1, L=classCount+1; j<L; j++ ) { if(j === divnum){ eval('cal' + j+'.write();'); }else{ eval('cal' + j+'.hide();'); } } });}); //--> </script> <script type="text/javascript" language="JavaScript"> <!-- $(function () { $('.daytxt').change(function () { var divnum =parseInt( ($(this).attr('name')).slice( -1)); eval('cal' + divnum +'.getFormValue(); '); eval('cal' + divnum +'.hide(); '); }); }); //--> </script>v ``` ###補足情報(言語/FW/ツール等のバージョンなど) formのIDはページ毎に違います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/23 11:22