1

私はJscriptクエリを持っています。

少し読んだところ、AJAX は、Linux で php を使用できる lfash スクリプトの単なるサイド サーバーであることがわかりました。(私がそれを間違って解釈した場合は、私を修正してください)

スクリプトがどのように機能するかについての知識がないため、これは新しいことです。いくつかの異なる試行を試みましたが、うまくいきませんでした。

ドロップダウン ボックス (Box1) (データベースから入力) が 1 つあり、別のボックス (Box2) があり、計算をデータベースに挿入して、サイトの他の部分で他の用途に使用します。

送信ボタンを押す前に誰かが Box1 ドロップダウンを変更したときに図を変更するには、Box2 が必要です。

私は計算を持っているので、これは私を行き詰まらせていると思います...コードは以下の通りです...

ボックス1

<td><p>selection 1</p>
         <select id="t1_type" name="t1_type">

<?php $result = mysql_query("SELECT * FROM `t2` ORDER BY t2_value");
while($valuerow = mysql_fetch_array($result)){
        echo '<option value="'.$valuerow['t2_name'].'">'.$valuerow['t2_name'].'</option>'; } ?>

ボックス2

    <input name="t1_value" id="t1_value" value="
    <?php 
      $var1 = $row_value['t2_value']; 
      $var2 = $row_dropdown['t1_number']; 
      $total = round ($var2 *  $var1); 
      echo "" . $total . ""; 
    ?>" />

これで必要なコードがすべて揃っていることを願っています (さらに必要な場合はお知らせください)。

必要なのは、送信ボタンがクリックされる前に誰かが box1 オプションを変更するたびに新しい計算を表示することです。これにより、将来の使用のために正しい計算がデータベースに送信されます。

「t2_nameがbox1から変更されたときは、box2からかなりの「t2_value」を変更する必要があると思います。

そしてもう一度、ソリューションについて学ぶための最良のリンクです。(前回の質問で Joins について学びました!! ほぼ中級ユーザーです。;-) )

4

1 に答える 1

0

編集 :

あなたの2番目のボックスはテキストボックスだと思います。それが問題なら、次のようにする必要があります

<select id="t1_type" name="t1_type" onchange="change(this);">
   <?php 
      $result = mysql_query("SELECT * FROM `t2` ORDER BY t2_value");
      while($valuerow = mysql_fetch_array($result))
      {
          echo '<option value="'.$valuerow['t2_name'].'">'.$valuerow['t2_name'].'</option>';
      } 
   ?>
</select> 

<select>これにより、質問で行ったようにボックスが定義されます。onChange最初にイベントを追加してから、イベント<select>を処理する関数を作成しますonChange。ユーザーが要素内の項目を変更するたびに、onChange イベントが発生します<select>

Javascript :

(コードのこの部分を の上に置きます</head>)

<script language="javascript" type="text/javascript">
    function change(element)
    {
     // do here whatever you want
     // you can change the value of the <input> box with :
     // document.getElementById(element.id).value = your_value
     // If you want to see if this part works, then try adding this :
     // alert("It works!");
     // If you want to get the text of the item which has been selected in Box1 use :
     // $("#t1_type option:selected").text();

    }
</script>

注: PHP はサーバー側であるため、ページを更新せずに Box2 を動的に更新することはできませんが、Javascript はクライアント側であり、これを行うことができます。

注 :$("#t1_type option:selected").text();コードでは、スクリプトに jQuery ライブラリを含める必要があります。この変数を使用して計算する場合は、必ずこの変数を float、int、または double に変換してください。そうしないと、結果は NaN (数値ではない) になります。

jQuery ライブラリの組み込みに関するチュートリアル: http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery

JavaScript を初めて使用する場合は、いくつかのチュートリアルを試してみてください。w3Schools.com にあるものは私を大いに助けてくれましたが、必ずしも正しいとは限らないと言う人もいますが、とにかく、コードをコピーペーストする代わりに、Javascript に関するいくつかの記事を読んで、自分が何をしているのかを実際に理解してください :)

于 2013-03-18T08:34:39.027 に答える