プロが教える店舗&オフィスのセキュリティ対策術

このプログラムだと、2回目に押すときは、さらに下に運賃の表示が出てきます。ではなくて、2回目に押す際は、その表示を初期化することはできないのでしょうか。
<!DOCTYPE html>
<meta charset="utf-8">
 <title></title>
 <style>
  </style>
   
    <body>
     
      <body>
       <p id=A>
         <select id=B>
          <option value="">--
            <option value="sb01">中百舌鳥
            <option value="sb02">深井
            <option value="sb03">泉ケ丘
          <option value="a0">a0
           <option value="a1">a1
           <option value="b0">b0
           <option value="b1">b1
           </select>
          
          <select id=C>
          <option value="">--
            <option value="sb01">中百舌鳥
            <option value="sb02">深井
            <option value="sb03">泉ケ丘
         <option value="a0">a0
        <option value="a1">a1
       <option value="b0">b0
      <option value="b1">b1
     </select>
   </p>
  <p>一回限り有効</p>
 <table id=D></table>
 
<script>
var
vals = {
'sb01sb02':3.7,
'sb01sb03':7.8,
'sb02sb03':4.1,
  'a0b0': 1.2,
  'b0a0': 1.2,
   'a0b1': 2.3,
    'b1a0': 2.3,
     },
     
       len = [2,4,6,8,10,12,14,16],
       
         prc = [
          [
          [
           '運賃A',
           '170(90)'
           ],
           [
           '回数券',
          '1,700(900)'
          ],
         [
        '通勤_1か月',
       '6,540(3,270)'
      ],
     [
    '3か月',
   '18,640(9,320)'
  ],
  [
'6か月',
'35,320(17,660)'
],
  [
  '通学_1か月',
   '3,030(1,520)'
    ],
     [
      '3か月',
       '8,640(4,320)'
        ],
         [
          '6か月',
          '16,370(8,190)'
           ],
           ],
           [
           [
           '運賃B',
          '180(90)'
          ],
         [
        '回数券',
       '1,700(900)'
      ],
     [
    '通勤_1か月',
   '6,540(3,270)'
  ],
  [
'3か月',
'18,640(9,320)'
],
  [
  '6か月',
   '35,320(17,660)'
    ],
     [
      '通学_1か月',
       '3,030(1,520)'
        ],
         [
          '3か月',
          '8,640(4,320)'
           ],
           [
           '6か月',
           '16,370(8,190)'
           ]
          ],
          ],
        
        T=(a,b=document.createElement('tbody'))=>
       a.reduce((b,a)=>
      (a.reduce((c,d)=>
     (c.insertCell().append(d),c),b.insertRow()),b),b),
   
   F=_=>
  _&&T(_,D),
 
R=_=>
[..._].forEach (_=>
_.remove());
  A.addEventListener('change',_=>
   F(prc[len.findIndex($=>
    $>Math.floor(vals[(_=B.value)+(__=C.value)]||vals[__+_]))]));  
     </script>

A 回答 (1件)

>その表示を初期化することはできないのでしょうか。


機能があるのだから(そのためなのかは知らんけれど)、好きなところで実行すればすむ話では?


例えば、記入する時に削除するなら、
  _&&T(_,D,R(D.childNodes)),
とか。
他のタイミングがお好みなら、そこにすれば良いだけ。
    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2022/07/06 19:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!