回答編集履歴

1

コード追加

2022/08/18 04:56

投稿

RiaFeed
RiaFeed

スコア2701

test CHANGED
@@ -1,3 +1,67 @@
1
1
  PHPタグが使えるのは(設定しなければ)拡張子が.phpのファイルだけで通常は.jsが拡張子のJavaScriptファイルに書いても反映されません。
2
2
  .js拡張子でもPHPが実行されるように設定を変える(非推奨)か、そのJavaScriptファイルの拡張子を.phpにするか、
3
3
  その部分だけPHP(HTML)のscriptタグに直接JavaScriptコードを書くかどれかですかね。
4
+
5
+ とりあえずこんな感じのテストコードを動かしてみましたが、動きました。
6
+ 提示の範囲ではなぜコメントのようになるのかちょっとわからないです。
7
+ ```php
8
+ <?php
9
+ //デイトピッカーに日付選択範囲を追加する
10
+ /*
11
+ $jsonString = json_encode($dataArray, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT);
12
+ $date_start = [date_format(date_create(get_field('イベント開始日')), 'Y,m,d')];
13
+ $date_end = [date_format(date_create(get_field('イベント終了日')), 'Y,m,d')];
14
+ */
15
+ $date_start = [date_format(date_create('2017-04-01'), 'Y,m,d')];
16
+ $date_end = [date_format(date_create('2018-03-31'), 'Y,m,d')];
17
+
18
+ if ($date_end) {
19
+ $ads_s = json_encode($date_start);
20
+ $ads_e = json_encode($date_end);
21
+ } else {
22
+ $ads_s = json_encode($date_start);
23
+ $ads_e = json_encode($date_end);
24
+ }
25
+ ?>
26
+ <!DOCTYPE html>
27
+ <html lang="ja">
28
+
29
+ <head>
30
+ <meta charset="UTF-8">
31
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
32
+ <title>Document</title>
33
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/base/jquery-ui.min.css">
34
+ </head>
35
+
36
+ <body>
37
+ <div>
38
+ <?php
39
+ echo($ads_s.'から'.$ads_e.'の間で選べます');
40
+ ?>
41
+ </div>
42
+ <input type="text" id="custom-datepicker">
43
+ <script src="https://cdn.jsdelivr.net/npm/jquery@3/dist/jquery.min.js"></script>
44
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
45
+ <script>
46
+ $(function () {
47
+ let $ads_s = JSON.parse('<?php echo $ads_s; ?>');
48
+ let $ads_e = JSON.parse('<?php echo $ads_e; ?>');
49
+ console.log($ads_s);
50
+ console.log($ads_e);
51
+
52
+ let test = JSON.parse('<?php echo $ads_s; ?>');
53
+ console.log(test);
54
+ console.log(test[0]);
55
+
56
+ $("#custom-datepicker").datepicker({
57
+ language: 'ja',
58
+ dateFormat: 'yy年mm月dd日(D)',
59
+ minDate: new Date((JSON.parse('<?php echo $ads_s; ?>'))[0]),
60
+ maxDate: new Date((JSON.parse('<?php echo $ads_e; ?>'))[0])
61
+ });
62
+ });
63
+ </script>
64
+ </body>
65
+
66
+ </html>
67
+ ```