実現したいこと
以下のような印刷システムの納期を、
jQueryで算出する機能を設置したいと考えております。
jQueryは初歩的な知識しかありませんが、
試行錯誤の末、なんとか思うような結果を出力させることはできました。
ただ、ソースの内容に無駄が多い気がするというか、
関数のまとめ方や変数の置く場所など、
もっとスマートに記述できそうに思います。
「ここはこう書く方が一般的」「こうした方がスマート」など、
もしアドバイスや添削をいただけましたら大変ありがたいです。
納期の算出方法
1日に印刷できるのが片面2色までの機械で、
片面につき2色増えるごとに1日納期が発生します。
色数を表/裏で表すと、
1/0、2/0 = 1日後発送
2/1、3/0、4/0、2/2 = 2日後発送
3/1、3/2、5/0 = 3日後発送
3/3、4/3、4/4、5/1、5/2 = 4日後発送 ....
となり、最大で10/10まで印刷可能です。
両面の納期を合わせた日数が、印刷の納期となります。
(表/裏の色数は逆でも納期は同じです。)
また、追加加工の内容により納期が0~1日追加されます。
プルダウンにて「表の色数(0-10色)」「裏の色数(0-10色)」
「追加加工(「折り」など数種)」を選択すると納期が算出されます。
自分で書いたソースコード
jQuery
1$(function() { 2 $('button').click(function () { 3 4 //プルダウンの数値を取得 5 var omoteColor = $('#omote-color').val(); 6 var uraColor = $('#ura-color').val(); 7 var optionType = $('#option-type').val(); 8 9 //表の納期 10 function dayOmote() { 11 if(omoteColor == 0){return 0; 12 }else if(omoteColor <= 2){return 1; 13 }else if(omoteColor <= 4){return 2; 14 }else if(omoteColor <= 6){return 3; 15 }else if(omoteColor <= 8){return 4; 16 }else if(omoteColor <= 10){return 5; 17 } 18 }; 19 20 var omote = dayOmote(); 21 22 //裏の納期 23 function dayUra() { 24 if(uraColor == 0){return 0; 25 }else if(uraColor <= 2){return 1; 26 }else if(uraColor <= 4){return 2; 27 }else if(uraColor <= 6){return 3; 28 }else if(uraColor <= 8){return 4; 29 }else if(uraColor <= 10){return 5; 30 } 31 }; 32 33 var ura = dayUra(); 34 35 //加工の納期 36 function dayOption() { 37 if(optionType == 'nashi'){return 0; 38 }else if(optionType == 'kado'){return 0; 39 }else if(optionType == 'ori'){return 1; 40 }else if(optionType == 'mishin'){return 1; 41 } 42 }; 43 44 var option = dayOption(); 45 46 //表・裏・加工の納期を足して最終的な納期を出す 47 var deliveryDay = parseInt(omote) + parseInt(ura) + parseInt(option); 48 $('.delivery-date > span').text(deliveryDay); 49 }); 50});
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/01 12:53