• ベストアンサー

Perlで分数を保持したい

初心者です。 Perlで分数を保持したいのです。以下のように記述しましたが、保持できていないようです。。 とりあえず整数で持ってきて、Perl内で分数に置き換えるということを考えていますが面倒そうです。分数で直に持ってこられる方法がありましたら教えてください。 Perl内記述 #Q1シングル for ($i=0;$i<=97;$i++){ $val_name ="Q1_"."$i"."_chk"; $name = 'Q1'; if ($data{$name} eq "$i"){ $$val_name = ' checked'; }else{ $$val_name = ''; } } HTML内記述 <TR height="25"> <TD align="center"><INPUT type="radio" name="Q1" value="1/3" _Q1_1/3_CHK_></TD> <TD>A</TD> </TR> ちなみに上記記述において、1/3の部分が整数であればこのプログラムは正常に動きます。なので1/3の持ってきかただけなのですが、 お願い申し上げます。

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

  • ベストアンサー
  • g_p_
  • ベストアンサー率53% (28/52)
回答No.4

もしかして、望んでいるのは my $result = 1/2 + 1/3; print $result; こんな風にしたら、 5/6 と計算して表示するようにしたいって事ですか? もしそうなら、それについては、 できるとか、できないとか、正確な解答ができませんが、 言えるのは、 >整数であれば何の問題もないのですが という事なんで、整数だけでうまく行く様に仕様を見直した方が 最終的には早く仕事が終わると思いますよ。

kujitan
質問者

お礼

お礼が遅くなり申し訳ありません。 さんざん悩んだ挙句、整数で仕様を見直しました。。。 皆様にいろいろとアドバイス頂いたにもかかわらず、技術が伴わず、かといって時間もかけられず、、で悔しい思いをしました。 これを機につけやきばではなく、しっかりと勉強しなおさなければならない、、と思いました。 ありがとうございました。

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

その他の回答 (3)

  • g_p_
  • ベストアンサー率53% (28/52)
回答No.3

こんにちは、 >回答の値を分数で受け取って… >1/2、1/3というデータでは計算ができないようなのです。… すみません、まだ良く理解できません。 ラジオボタンの値に"1/2"を指定しておいて、 渡されたスクリプト内部で、0.5 として扱いたいという事ですか? もしそうなら、受け取った計算式を eval してみてはどうでしょうか 以下実験です。 #! /usr/bin/perl use strict; use CGI; my $q = CGI->new; my $Q1_value = $q->param("Q1") || 'ありません'; my $result_eval = eval $Q1_value; print << "END_OF_HTML"; Content-Type: text/html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> </head> <body> <form action="test.cgi" method="POST"> <input type="radio" name="Q1" value="1/3"> <input type="submit" value="reload"> </form> <p>受け取ったQ1の値は$Q1_value</p> <p>$Q1_value の実行結果は $result_eval</p> </body> </html> END_OF_HTML __END__ ブラウザから、ラジオボタンをチェックしてボタンを押すと ________________________________________________________ 受け取ったQ1の値は1/3 1/3 の実行結果は 0.333333333333333 ________________________________________________________ と表示されると思います。 でも、重大なセキュリティホールが出来てしまいそうなので、 渡された文字列を厳重にチェックしなければならないと思います。 なぜ、 >「例:非常にそう思う⇒5、ややそう思う⇒4、、など」の整数であれば何の問題もないのですが これではだめで、 >「例:非常にそう思う⇒1/2、ややそう思う⇒1/3、、など」 こうしなければならないのでしょうか? もしかしたら、それが分かればもうちょっとマシな回答ができるかもしれませんが…(自信は無いですけど)

kujitan
質問者

お礼

お礼が遅くなり申し訳ありません。 さんざん悩んだ挙句、整数で仕様を見直しました。。。 g_p_様にいろいろとアドバイス頂いたにもかかわらず、技術が伴わず、かといって時間もかけられず、、で本当にすみません。 >「なぜ、 >「例:非常にそう思う⇒5、ややそう思う⇒4、、など」の整数であ >れば何の問題もないのですが >これではだめで、 >「例:非常にそう思う⇒1/2、ややそう思う⇒1/3、、など」 >こうしなければならないのでしょうか? 理由は、その後、その解答データを 配列で考えると(1,0)が「2」なら(0,1)は「1/2」、(1,2)が「1/3」なら(2,1)が「3」と逆数を計算をするのですが、 そのためにある回答が得られたら、1/2、という設定が欲しかったのです。。まずは整数で持ってきて、分数に置き換える方法で最終的には処理しました。

全文を見る
すると、全ての回答が全文表示されます。
  • g_p_
  • ベストアンサー率53% (28/52)
回答No.2

こんにちは、 いまいちおっしゃりたい事が分かりませんが、 >Perlで分数を保持したいのです。 ><TD align="center"><INPUT type="radio" name="Q1" value="1/3" _Q1_1/3_CHK_></TD> htmlのフォームから送信された Q1 の値を '1/3' という文字列で受け取りたいという事でしょうか? CGI.pmや類似のモジュールを使ってフォームに入力された値を受け取っているなら、 普通そうなると思うんですが、以下実験です。 #! /usr/bin/perl use strict; use CGI; my $q = CGI->new; my $Q1_value = $q->param("Q1") || 'ありません'; my $str = "1 / 3"; my $result = 1 / 3; my $result_int = int($result); print << "END_OF_HTML"; Content-Type: text/html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> </head> <body> <form action="test.cgi" method="POST"> <input type="radio" name="Q1" value="1/3"> <input type="submit" value="reload"> </form> <p>受け取ったQ1の値は$Q1_value</p> <p>文字列 $str</p> <p>1 / 3 は $result</p> <p>1 / 3 の整数部は $result_int</p> </body> </html> END_OF_HTML __END__ 上記のスクリプトを test.cgi として保存(文字コードはeuc-jp)。 ブラウザからラジオボタンをチェックしてボタンを押すと、 ___________________________ 受け取ったQ1の値は1/3 文字列 1 / 3 1 / 3 は 0.333333333333333 1 / 3 の整数部は 0 ___________________________ と表示されると思います。 >ちなみに上記記述において、1/3の部分が整数であればこのプログラムは正常に動きます スクリプト内のどの部分が整数になれば良いのかわかりませんが、int を使ったらどうですか? 質問を見ただけでは、やりたいことが分かりませんが、 #1氏のご指摘通り、ハッシュや配列を使って解決できるように考えられた方が良いと思います。

kujitan
質問者

補足

ご回答ありがとうございます。 説明が足りず申し訳ありません。 アンケートを作成していて、回答の値を分数で受け取って、「例:非常にそう思う⇒1/2、ややそう思う⇒1/3、、など」そのデータを使ってPerl内で計算したいのです。 「例:非常にそう思う⇒5、ややそう思う⇒4、、など」の整数であれば何の問題もないのですが、1/2、1/3というデータでは計算ができないようなのです。 ご回答いただいた内容を拝見して、1/2、1/3が文字列として受け取られてしまっているのか、と考えなおしています。

全文を見る
すると、全ての回答が全文表示されます。
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

スクリプトを見た感じ、その分数の表記をそのまま 変数名として使おうとしていますよね? '/' は変数名に使うことはできないので、 それで期待通りに動いていないのだと思います。 >$$val_name = ' checked'; のようなシンボリックリファレンスを使うのではなく、 ハッシュを使うようにして、 > "Q1_"."$i"."_chk"; の結果をハッシュのキーにすればよいのではないでしょうか? 参考までに、現状ではこのようなシンボリックリファレンスを 使うことはコーディングルールとして推奨されていません。

kujitan
質問者

お礼

ご回答ありがとうございます。 変数に使えない記号というのを確認しました。 実は前にあるSEの方に組んで頂いたPerlを数年にわたってカスタマイズしながら使っています。私自身プログラムについては全くの素人で、質問が初歩的で本当にお恥ずかしい思いです。 配列、という考え方で再度見直してみます。 大変ありがとうございました。

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

関連するQ&A

  • 【ツリーメニューの保持】

    【ツリーメニューの保持】 1.フォーム内の「タイプ」のラジオボタンをどれか1つ選択すると該当のツリーメニューが表示される 2.・必要項目を入力し、form送信、POSTで受け取る。 3.・form送信後も表示されていたツリーメニューを保持 ということを実装したいと思っています。 javascriptは初心者で、ネットで調べてつくりました。 「ラジオボタン選択でツリー表示」はできましたが 「form送信後も表示されていたツリーメニューを保持」部分が実装できません。 一人ではどうしても解決できず、どなたかご教授いただけませんでしょうか? よろしくお願い致します。 ------------------------------------------------------------------------------ 【php】 if($_REQUEST["mode"] == "regist") { var_dump($_REQUEST); } 【javascript】 //送信後もツリーメニュー保持 function check() { if (document.fm.type[0].checked == true) { document.getElementById('A').style.display = "block"; } else if(document.fm.type[1].checked == true) { document.getElementById('B').style.display = "block"; } } //ラジオボタン選択でツリーメニュー表示 function treeMenu(tName) { radio = document.getElementsByName('type') if(radio[0].checked) { document.getElementById('A').style.display = "block"; document.getElementById('B').style.display = "none"; } else if(radio[1].checked) { document.getElementById('A').style.display = "none"; document.getElementById('B').style.display = "block"; } 【form】 <form action="hogehoge.php" method="post" name="fm"> <input type="hidden" name="mode" value="regist"> <table> <tr> <td>タイプ</td> <td> <input type="radio" name="type" value="1" onClick="treeMenu('A')"> <input type="radio" name="type" value="2" onClick="treeMenu('B')"> </td> </tr> </table> <div id="A"> <table> <tr> <td>住所</td> <td><input type="text" name="address" value="<?php echo $_REQUEST[address]?>"></td> </tr> </table> </div> <div id="B"> <table> <tr> <td>電話番号</td> <td><input type="text" name="tel" value="<?php echo $_REQUEST[tel]?>"></td> </tr> </table> </div> <table> <tr> <td>年齢</td> <td><input type="text" name="age" value="<?php echo $_REQUEST[age]?>"></td> </tr> </table> <input type="submit" value="確認" onclick="check()"> </form>

  • 質問の選択肢をランダム表示したいです。

    4つの選択肢の中から一つを選ばせて、その結果を集計して、結果によって違うページに飛ぶスクリプトを作っています。 その中で4つの選択肢をランダムに表示させる方法がわかりません。 Q1赤青緑黄,Q2赤青緑黄,Q3赤青緑黄… Q5赤青緑黄と現在なっていますが、 Q1緑黄赤青,Q2赤緑黄青,Q3青緑赤黄… Q5赤青緑黄という感じにしてもちゃんと集計してくれるようにしたいです。 以下のプログラムまでできています。アドバイスお願いします。 <title>好きな色</title> <script type="text/javascript"><!-- function count(f){ var aka = 0; var ao = 0; var yellow = 0; var midori = 0; for(var i=1; i<=10; i++){ if(f["q" + i][0].checked && f["q" + i][0].value=="1"){ aka++; } else if(f["q" + i][0].checked && f["q" + i][0].value=="2"){ aka--; } else if(f["q" + i][1].checked && f["q" + i][1].value=="3"){ ao++; } else if(f["q" + i][1].checked && f["q" + i][1].value=="4"){ ao--; } else if(f["q" + i][2].checked && f["q" + i][2].value=="5"){ midori++; } else if(f["q" + i][2].checked && f["q" + i][2].value=="6"){ midori--; } else if(f["q" + i][3].checked && f["q" + i][3].value=="7"){ yellow++; } else if(f["q" + i][3].checked && f["q" + i][3].value=="8"){ yellow--; } } if( aka > ao && aka > midori && aka > yellow){ location.href="01.html"; } else if( yellow > ao && yellow > midori && yellow > aka){ location.href="02.html"; } else if( ao > aka && ao > midori && ao > yellow){ location.href="03.html"; } else if( midori > ao && midori > aka && midori > yellow){ location.href="04.html"; } else { location.href="05.html"; } } //--> </script> </head> <body> <center> <form name="test"> <p> <table border="1"> <tr> <td> Q1 </td> <td>Yes</td> <td>No</td></tr> <br> <td><label>赤</label></td> <td><input type="radio" name="q1" value="1" /></td> <td><input type="radio" name="q2" value="2" /></td></tr> <td><label>青</label></td> <td><input type="radio" name="q1" value="3" /></td> <td><input type="radio" name="q2" value="4" /></td></tr> <td><label>緑</label></td> <td><input type="radio" name="q1" value="5"/></td> <td><input type="radio" name="q2" value="6"/></td></tr> <td><label>黄</label></td> <td><input type="radio" name="q1" value="7"/></td> <td><input type="radio" name="q2" value="8"/></td></tr> </table> <table border="1"> <tr> <td> Q2 </td> <td>Yes</td> <td>No</td></tr> <br> <td><label>赤</label></td> <td><input type="radio" name="q3" value="1"/></td> <td><input type="radio" name="q4" value="2"/></td></tr> <td><label>青</label></td> <td><input type="radio" name="q3" value="3" /></td> <td><input type="radio" name="q4" value="4" /></td></tr> <td><label>緑</label></td> <td><input type="radio" name="q3" value="5"/></td> <td><input type="radio" name="q4" value="6"/></td></tr> <td><label>黄</label></td> <td><input type="radio" name="q3" value="7"/></td> <td><input type="radio" name="q4" value="8"/></td></tr> </table> <input type="button" value="採点" onclick="count(this.form)"> </form> </center> </body> </html>

  • チェックボックスのチェック処理

    HTMLでボタン押下時にチェックしたいことがあります。 ■カテゴリーA~Cで、カテゴリー毎に選択できるのは一つのみ  (例)「A1・あ」と「A2・お」が選択時はNG ■カテゴリーは最大2つまで選択可能  (例)「A1・い」と「C1・さ」が選択時はOK    「A1・い」と「B2・く」と「C1・さ」が選択時はNG <html> <head> </head><body> <form> <table border="1"> <tr> <td>A1</td> <td><input type="checkbox" name="chk1" value="1">あ</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">い</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">う</td> </tr> <tr> <td>A2</td> <td><input type="checkbox" name="chk1" value="1">え</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">お</td> </tr> <tr> <td>B1</td> <td><input type="checkbox" name="chk1" value="1">か</td> </tr> <tr> <td>B2</td> <td><input type="checkbox" name="chk1" value="1">く</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">け</td> </tr> <tr> <td>C1</td> <td><input type="checkbox" name="chk1" value="1">さ</td> </tr> <tr> <td>C2</td> <td><input type="checkbox" name="chk1" value="1">し</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">す</td> </tr> </table> <input type="submit" value="チェック"> </form> </body> </html> すみませんがよろしくお願いします。

  • クリックしたラジオボタンの行番号を取得したい

    Jqueryを用いてクリックしたラジオボタンの行番号を取得したいのですが、 うまくいきません。 次のようなHTMLで <table border="1" style="font-size:12px;"> <tr> <td>2014年06月01日</td> <td> <label><input type="radio" name="rd1" class="rd" value="0" />A</label> <label><input type="radio" name="rd1" class="rd" value="1" checked="checked" />B</label> <label><input type="radio" name="rd1" class="rd" value="7" />C</label> </td> </tr> <tr> <td>2014年06月02日</td> <td> <label><input type="radio" name="rd2" class="rd" value="0" />A</label> <label><input type="radio" name="rd2" class="rd" value="1" checked="checked" />B</label> <label><input type="radio" name="rd2" class="rd" value="7" />C</label> </td> </tr> <tr> <td>2014年06月03日</td> <td> <label><input type="radio" name="rd3" class="rd" value="0" />A</label> <label><input type="radio" name="rd3" class="rd" value="1" checked="checked" />B</label> <label><input type="radio" name="rd3" class="rd" value="7" />C</label> </td> </tr> <tr> <td>2014年06月04日<td> <td> <label><input type="radio" name="rd4" class="rd" value="0" />A</label> <label><input type="radio" name="rd4" class="rd" value="1" checked="checked" />B</label> <label><input type="radio" name="rd4" class="rd" value="7" />C</label> </td> </tr> </table> 下記で選択したラジオボタンの値を取得できるのですが、 行の番号が取れません。 //ラジオボタンを変更 $('.rd').change(function(){ val = $(this).val(); alert("hoge " + val); }); どのようにしたら良いでしょうか? 宜しくお願いいたします。

  • ラジオボタンを複数選択して、リンクへ飛ぶ

    初心者です。これだと、二つのネームしか選択できないのですが、三つ、四つにに増やすにはどうしたらいいのでしょうか? <script language="javascript"><!-- //リンク先の設定(URL) al=new Array(); al[0]="http://yahoo.co.jp/";//A+D al[1]="http://google.co.jp/";//A+E al[2]="http://www.goo.ne.jp/";//A+F al[3]="";//A+G al[4]="";//B+D //(略) al[11]="";//C+G(※この場合は0~11の値が入ります) function xLunch(){ aUe = document.getElementsByName("ue"); aSita =document.getElementsByName("sita"); for(i=0;i<aUe.length;i++){ if(document.getElementsByName("ue")[i].checked==true){ nUeSel=i; break; } } for(i=0;i<aSita.length;i++){ if(document.getElementsByName("Sita")[i].checked==true){ nSitaSel=i+1; break; } } nC = (aSita.length*nUeSel)+nSitaSel; location.href=al[nC-1]; } --> </script> <table border="1"> <tbody> <tr> <td>一つ目を選択してください。</td> </tr> <tr> <td><input type="radio" name="ue" checked>A <input type="radio" name="ue">B <input type="radio" name="ue">C</td> </tr> <tr> <td>二つ目を選択してください。</td> </tr> <tr> <td><input type="radio" name="sita" checked>D <input type="radio" name="sita">E <input type="radio" name="sita">F <input type="radio" name="sita">G </td> </tr> <tr> <td align="right"><input type="button" value=" OK " onclick="xLunch()"></td> </tr> </tbody> </table>

  • [VBScript]ラジオボタンでform送信

    HTML内でVBScriptを用いて、以下のようなことをしたいと思っています。 <tr>   <td nowrap align="center">東京 or 大阪 </td>   <td><input type="radio" name="ikisaki" value="0" checked>東京 <input type="radio" name="ikisaki" value="1" >大阪 </td> <form method="post" action="xxxx.asp" name="form"> <tr>  <td nowrap align="right">市名</td>  <td nowrap><font size="+2"><%=strCitNm%></font></td> </tr> <tr>  <td>   <input type="submit" name="A1" value="送信">  </td> </tr> 上記なようなラジオボタンが2つあったとして、[送信]を押したときに ラジオボタンのチェックが「東京」なら action="tokyo.asp" に、 「大阪」なら action="oosaka.asp"へform送信を行いたいと思っているのですが、 HTML内でVBScriptを使用する場合、どのような記述にすればいいのかがわかりません。 どうかよろしくお願いします。

    • ベストアンサー
    • HTML
  • GETパラメータ

    こんにちは CGI初心者です。 http://www.perl-labo.org/formdata/getmethod/get.cgi?日本語 この様に、日本語のGETパラメータを取得したいです。 http://www.perl-labo.org/formdata/jpname/ を参考にしました。 【記述】 #!C:/Perl/bin/perl package plab; sub getformdata { local $rawdata; local %formdata; local @inputs; local($input, $name, $val); if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $rawdata, $ENV{'CONTENT_LENGTH'}); } elsif ($ENV{'REQUEST_METHOD'} eq "GET") { $rawdata = $ENV{'QUERY_STRING'}; } @inputs = split('&', $rawdata); foreach $input (@inputs) { ($name, $val) = split('=', $input); $name =~ tr/+/ /; $val =~ tr/+/ /; $name =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("C", hex($1))/eg; $val =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("C", hex($1))/eg; $formdata{$name} = $val; } return %formdata; } 1; 実行するとサーバーエラーになってしまいます。 パスは「#!C:/Perl/bin/perl」で合っています。 記述方法のミスでしょうか? 教えて下さい!

    • 締切済み
    • CGI
  • 「○○○@××.△△: HTTPリクエストにRefererがありません。」?

    メールフォームを作成したいのですが、試しに送信すると「○○@××.△△: HTTPリクエストにRefererがありません。」と表示されます。どこがおかしいのか教えて下さい。 以下にHTMLを記述します。 「」内にはHPアドレス(Infoseek)とメールアドレス(Infoseekメール)を記述済みです。 <FORM METHOD="POST"ACTION="http://www.altoworld.com/*****/post.cgi"> <INPUT TYPE="hidden" NAME="_location" VALUE="「送信後戻るページ」 "><INPUT TYPE="hidden" NAME="_subject" VALUE="メールフォーム"><INPUT TYPE="hidden" NAME="_mailto" VALUE="「メールアドレス」"><div align="center"><center><table border="1" bordercolor="#000000"><tr><td align="center">ハンドルネーム</td><td align="center" bordercolor="#FFFFFF"><INPUT TYPE="text" NAME="名前" SIZE="20"></td></tr><tr><td align="center">メールアドレス</td><td align="center" bordercolor="#FFFFFF"><INPUT TYPE="text" NAME="MAIL" SIZE="20"></td></tr><tr><td align="center">ホームページ</td><td align="center" bordercolor="#FFFFFF"><INPUT TYPE="text" NAME="URL" SIZE="20" VALUE="http://"></td> </tr><tr><td align="center">ご感想をどうぞ</td><td align="center" bordercolor="#FFFFFF"><p align="center"><TEXTAREA NAME="感想" COLS="22" ROWS="2"></TEXTAREA><br><INPUT TYPE="submit" VALUE="送信"><INPUT TYPE="reset" VALUE="リセット"></td></tr></table></center></div></FORM>

    • ベストアンサー
    • HTML
  • valign=topが機能しません

    CGIファイル内のテーブルのtdにvalign=topを記述しましたが、テキストが上にきてくれません。 ソースは以下です。「メッセージ」の文字が上にくるようにするにはどうすれがいいか教えてください。 よろしくお願いします。 <center> <TABLE BORDER=0 CELLPADDING=10 CELLSPACING=10> <tr> <td align=right nowrap><font size=2>お名前</font></td> <td align=left> <input type="text" name="name" size="30" maxlength="100" class=textarea> </td> </tr> <tr> <td align=right nowrap><font size=2>タイトル</font></td> <td align=left><input type="text" name="title" size="50" maxlength="200" class=textarea></td> </tr> <tr> <td valign=top align=right nowrap ><font size=2>メッセージ</font></td> <td align=left><textarea name="msg" cols="50" rows="7" class=textarea></textarea></td> </tr> <tr> <td align=right nowrap><font size=2>パスワード</font></td> <td align=left><input type="password" name="pass" size="16" maxlength="200" class=textarea value=$cpass></td> </tr> <tr> <td colspan=2> <hr size=1 noshade> </td> </tr> <tr> <td align=center colspan=2> <div align="center"><input type="submit" value="投稿する" class=input2 onClick="writeCookie()"></div></td> </tr></form> </table> </center>

  • htmlのformの表示について【Jquery】

    <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.1.min.js"></script> <script type="text/javascript"> function formChanged(ev){ var sel = $('.chk:checked').map(function () { return this.checked ? this.value : null; }).get().join(); $("#output").text(sel); } formChanged(null); $(document).on("change",'.chk:checked',formChanged); </script> <form method="post" action="mail.php"> <table> <tr> <th>カテゴリー</th> <td> ・ABC: <input type="checkbox" name="カテゴリー[]" value="[abc]" class="chk" /> ・DEF: <input type="checkbox" name="カテゴリー[]" value="[def]" class="chk" /> ・GHI: <input type="checkbox" name="カテゴリー[]" value="[ghi]" class="chk" /> </tr> <tr> <th>選択した製品シリーズ</th> <td><span id="output"></span></td> </tr> <tr> </table> </form> これは、チェックボックスにチェックをいれたチェックボックスの値がリアルタイムに表示される仕組みなのですが、逆にチェックを外した場合は、値が消えません。消えるようにするにはどうしたらいいでしょうか。アドバイスをいただけると幸いです。