• ベストアンサー

jquery datepickerについて2

jqueryを利用して、簡単な料金シュミレーションを作っています。 日数の計算について、質問させていただき、解決することができました。 もうひとつわからないことがあり、質問させていただきます。 特定の日が通常より料金が高いのですが、その特定の日が選択した期間に1日でも含まれているかを調べることができないでしょうか? わかる方、ご教授宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 以下のような感じになると思います。 特定日を配列で保持しておき、その日付がFromToの中にあるかチェックする方法です。 ==== JavaScript // 特定日を保持する配列 var tDate = new Array(); tDate[0] = new Date("2012/08/01"); tDate[1] = new Date("2012/08/15"); tDate[2] = new Date("2012/08/31"); // 開始を取得 var from = $('#date-from').val(); // 終了を取得 var to = $('#date-to').val(); // 日付オブジェクトを生成 var fromDate = new Date(from).getTime(); var toDate = new Date(to).getTime(); var hitCount = 0; // 特定日の配列を全て走査 for ( var i = 0; i < tDate.length; i ++ ) { if ( tDate[i].getTime() >= fromDate && tDate[i].getTime() <= toDate ) { // FromToの範囲に入っているかチェックし入っている場合は // カウントをアップする hitCount ++; } } alert ( "特定日が" + hitCount + "日ありました" );

immature365
質問者

お礼

LancerVII様 お礼が遅くなりすみません。 教えていただいた内容でやってみたら、無事思ったことができました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

前回質問の回答者様が示してくれている、new Date(○○)で一旦日付オブジェクトに変換していますので、それを用いて判断すればよろしいかと。 http://okwave.jp/qa/q7656838.html >特定の日が通常より料金が高いのですが、 特定の日というのが曜日指定なのか、日付指定や期間で決まっているのか、「5、10日」のような決まりなのかによって具体的な方法は異なってきますが、期間の開始日と終了日がオブジェクトで取得できていますので、それを用いて「日付の前後判定」や「曜日の判定」などを組合せて判断してあげればできると思います。 以下、後参考までに。 http://homepage3.nifty.com/aya_js/js2/js213.htm http://www.artemis.ac/contents/javascript/jsdate.htm

immature365
質問者

補足

fujillin様 ご回答ありがとうございます。 特定の日というのは、8月13日など具体的な日にちで、 年間を通じて十数日あり、毎月何日や毎月何曜日などの決まりはないです。 上記のような場合、どのような方法があるかお教えいただくことは可能ですか? 宜しくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • jquery datepickerについて

    jqueryを利用して、簡単な料金シュミレーションを作っています。 日数によって、料金が変わるので、jquery datepickerで日付を選択し 選択した日付(例えば2012/08/22~2012/08/31)から期間(日数)を計算する方法はあるのでしょうか? 期間の計算方法を教えてください。宜しくお願いいたします。

  • jquery datepickerについて

    言語初心者です。 まだ、ほとんど自分では書けず、どうにかネットに上がっているものを使っている状態です。 datepickerを利用しつつ、fromとtoから期間を計算させたいと思っています。 過去ログがあったので示します。 http://okwave.jp/qa/q7656838.html onSelect: function() {   // 開始を取得     var from = $('#date-from').val();   // 終了を取得     var to = $('#date-to').val();     if ( from !== '' && to !== '' ) {        var date = new Date(to).getTime() - new Date(from).getTime();        alert ( date/(1000*60*60*24) );     }   } 上記ソースコードの   alert ( date/(1000*60*60*24) ); の部分を書き換えて /*html内*/ <input type="text" id="from-to" name="期間"> のテキストボックスに計算させた日数を出したいのですが、上手くいきません。 どなたかご教授ください。よろしくお願いいたします。

  • Jquery Datepickerについて。。

    質問させてください。 javascriptが非常に苦手な初級エンジニアです。。 JqueryのDatepickerを使って、「レンタル希望日」という入力項目に入った日付を見て、「レンタル返却日」の選択できる日にちを変える、っというようなものを作っています。レンタル希望日の入力をする前にレンタルもとの販売店の選択をし、休店日も選択した販売店によって切り替えるような仕様です。苦手ながらも何とかそこまではできたのですが1点問題点が。。 レンタル希望日、返却予定日は第三希望まで入力する必要があります(必須)。 以下1ソースで第3希望までの入力を一元で行う方法があればと思っています。 丸ごと関数化すればいいのかと思い色々試してみましたが上手くいきませんでした。ソースを3回書くのはできれば避けたいです。 何卒よろしくお願いいたします。 ---------------------以下ソース $(function() { $( "#from" ).datepicker({ defaultDate: "+1w", minDate: '+3', maxDate: '2014年12月26日', dateFormat: 'yy年mm月dd日', changeMonth: true, beforeShow:function(){ var kyoten = $("select[name='kyoten']").val(); try{ if(kyoten == ''){ throw new Error('販売店を選択してください'); } }catch(e){ alert(e.message); window.location.reload();//あまりよろしくない。。 } }, beforeShowDay: function(day) { // カレンダー表示前に実行 var kyoten = $("select[name='kyoten']").val(); kekka = kyoten.split('_'); var result; switch (day.getDay()) { case 2: // 火曜日を選択できないようにする if(kekka[1] == 1){ result = [false]; }else{ result = [true]; } break; case 3: // 水曜日を選択できないようにする if(kekka[1] == 2){ result = [false]; }else{ result = [true]; } break; case 6: // 土曜日を選択できないようにする result = [false]; break; case 0: // 日曜日を選択できないようにする result = [false]; break; default: result = [true]; // それ以外は選択できる break; } return result; }, onClose: function( selectedDate ) { var toDate = $('#from').datepicker('getDate'); var toMin = $('#from').datepicker('getDate');//toDate var toWeek = toDate.getDay(); var tiNum = ''; var niNum = ''; // maxDateの挙動(選択した日にちの曜日番号によって(#to)で選択できる日にちを絞り込む) if(toWeek == 1) { // 月 tiNum = 4; } else if(toWeek == 2){ // 火 tiNum = 3; } else if(toWeek == 3){ // 水 tiNum = 2; } else if(toWeek == 4){ // 木 tiNum = 1; } else if(toWeek == 5){ // 金 tiNum = ''; } // minDateの挙動(金曜日のみ1を加算しない) if(toWeek == 5){ niNum = ''; }else{ niNum = 1; } toMin.setDate(toMin.getDate() + tiNum); toDate.setDate(toDate.getDate() + niNum); $( "#to" ).datepicker('option', {minDate: toDate, maxDate: toMin}); } }); $( "#to" ).datepicker({ defaultDate: "+1w", minDate: '+1', maxDate: '2014年12月26日', dateFormat: 'yy年mm月dd日', changeMonth: true, beforeShow:function(){ var kyoten = $("select[name='kyoten']").val(); try{ if(kyoten == ''){ throw new Error('拠点を選択してください'); } }catch(e){ alert(e.message); window.location.reload(); } }, beforeShowDay: function(day) { // カレンダー表示前に実行 var kyoten = $("select[name='kyoten']").val(); kekka = kyoten.split('_'); var result; switch (day.getDay()) { case 2: // 火曜日を選択できないようにする if(kekka[1] == 1){ result = [false]; }else{ result = [true]; } break; case 3: // 水曜日を選択できないようにする if(kekka[1] == 2){ result = [false]; }else{ result = [true]; } break; case 6: // 土曜日を選択できないようにする result = [false]; break; case 0: // 日曜日を選択できないようにする result = [false]; break; default: result = [true]; // それ以外は選択できる break; } return result; } }); }); </script> 以下html部分 <select name="kyoten"> <option value="">選択してください</option> <?php foreach( $kyotenArr as $key=>$var):?> <option value="<?php echo $var;?>"><?php echo $key;?></option> <?php endforeach;?> </select> 第一希望日<input type="text" id="from" readonly="readonly"> 第一希望返却日<input type="text" id="to" readonly="readonly"> <!--第3希望まであります。。

  • SELECT要素のjQueryイベントハンドラ

    SELECT要素のドロップダウンリストに対して、 選択項目が変わった時のイベントを設定したいと考えています。 jQueryを利用しているのですが、$("#...").change(func) による設定では、 キーボードで項目を変更した時に実行されませんでした。 他はjQuery利用で統一しているので出来るだけjQueryを使いたいのですが、 これはjQueryの仕様的に対応していないのでしょうか? keydownを拾って別途キーボード操作を処理すれば解決はできますが・・・

  • jQueryプラグイン「Moodular」について

    jQueryプラグイン「Moodular」を改造して利用しています。 http://www.gougouzian.fr/projects/jquery/moodular/ 特定の要素を横(縦)にスクロールさせるスクリプトですが 修正するにあたり自分ではわからなかったので質問させていただきます。 要素が移動・停止を繰り返す際に微妙に減速、加速をおこなっているのですが これをとっぱらい、常に一定の速度でスクロールさせたいと考えています。 スクリプトを自分でいじってみましたが、思うように動きませんでした。 どなたか教えていただけないでしょうか?

  • エクセルである期間内の特定の期間の日数を抜き出す方法について

    下記の例の入院日と退院日における特定期間の日数の抜き出し方についてについていずれも計算可能な数式の組み方についてどうしてもわからないのでご教授願います。 (例)   入院日  退院日 入院日~  15日~              14日以内 30日以内              の日数   日数  A 18.4.15 18.4.22  8     0  B 18.3.20 18.4.10  14    8 C 18.2.1  18.4.5   0     0 

  • JavascriptとJqueryを混在し記述

    JavascriptとJqueryが混在したスクリプトファイル(.js)の書き方について質問です。 Jquery自体がjavascriptで書かれており結局はjavascriptであるということは理解していますが 気になるので質問させてください。 通常、javascriptの書き方として、スクリプトやその関数定義を1つのjsファイルに書くと思いますが、 Jqueryが混在しても考えは一緒で、ただ、ページが全て読み込まれた後(要素を特定できるようにするため)に実行したい場合の スクリプトを $(function(){ //Jquryや通常のjavascript }); の中にこのように書けばいいって話ですよね? つまり1つのjsファイル内に以下のようにスクリプトを混在させた書き方でもいいのですよね? ===== script.js ====== //(1)Javaスクリプト ←jsファイルが読み込まれたら実行するスクリプト //関数定義 function test(){ //Javaスクリプト } //(2)Jquery ←ページが全て読み込まれた後で実行するスクリプト $(function(){ //Jqueryスクリプト //Javaスクリプト }); 初歩的なことかもしれませんがすいません。

  • jQuery UI - Tabs

    jQuery UI - Tabsについて質問です。 jQuery UI - Tabsのrotateを利用して、自動的にタブが切り替わり、アクティブなタブの色が変わるといったプログラムを作成しました。 選択されたタブの色をCSSに直接記述してある時は、自動的にアクティブなタブの色が切り替わるのですが、"選択されたタブ.css("#555555")"というよプログラム上で指定した場合は正しく色が切り替わりません。 プログラム上で色を指定した場合でも、正しく色が切り替わるようにするにはどのようにしたらよいでしょうか。 お分かりの方がいらっしゃいましたら、ご教示願います。

  • JQuery Datepickerについて

    DatePickerを使ってカレンダーを選ばせて、inputテキストエリアに出した日付で検索をさせたいのですが、inputタグのvalue値、title値をどうやってもってくるかがわかりません。どのようにすれば選んだ日付がinputタグ内に記述されるのでしょうか?詳しい方、ご教示いただけないでしょうか。。 呼び出す箇所はJS内に記述しています。↓ $("div#Calender").append('<input type="text" value="" title="" name="date1" id="jquery-ui-datepicker" class="date-pick" />');

  • 水商売の源泉徴収

    源泉徴収すべき所得税及び復興特別所得税の額は、報酬・料金の額から同一人に対し1回に支払われる金額について、5千円にその報酬・料金の「計算期間の日数」を乗じて計算した金額(同月中に給与等の支払がある場合には、その計算した金額からその計算期間の給与等の支給額を控除した金額)を差し引いた残額に10.21%の税率を乗じて算出します。  この「計算期間の日数」とは、「営業日数」又は「出勤日数」ではなく、ホステス報酬の支払金額の計算の基礎となった期間の初日から末日までの全日数です。 (例)  ホステス報酬の支払金額の計算の基礎期間3月1日から3月31日(31日間)営業日数25日間、3月分の報酬75万円を支払う場合  (75万円―15万5千円)×10.21%=6万749円(1円未満端数切捨て)  ※15万5千円=5千円×31日  源泉徴収すべき所得税及び復興特別所得税の額は6万749円になります っとありますが給料が10万円などの子はどうなるのでしょうか?

男性心理を教えてください
このQ&Aのポイント
  • 男性心理とは、男性が行動する際に影響を与える心の状態や思考のことを指します。
  • 職場で私に関係のない話でも私を見て話してくる男性がいるが、1人の時には滅多に話しかけられない。
  • その男性は私を見つめ、顔を上げても目を逸らさず、いつも私を見ているため、なぜ私に話しかけるのか疑問に思っている。
回答を見る