0

選択した入力からajaxにテキストを更新させる方法を知っている人はいますか。つまり、何かを選択(フォーム->入力)すると、何かで更新/表示され<span>ます。

これは私が持っているものです:

    <?php
echo '<select name="test">';
      for ($i=0; $i <= 20; $i++) {
        echo '<option value="'.$i.'">'.$i.'</option>';
      }
echo "</select>";
     ?>

そして:で<script>

    <script>
function upperCase()
{
var A = document.getElementById('test').value;
var B = document.getElementById('txtHint1').value;

C = A * B
document.getElementById('result').value = C; 
} 
    </script>

そして私がそれを見せたいところ:

<span id="txtHint1" onchange="upperCase()"></span>

ご理解いただければ幸いです。

4

2 に答える 2

0

これがあなたのシナリオだと思います:

  • ユーザーがドロップダウンボックスからオプションを選択します
  • オプションを選択すると、そのオプションの値に「txtHint1」スパンを掛けた値が「結果」スパンに表示されます。

まず、それを行うのにajaxは必要ありません。JavaScriptだけです。次に、「txtHint1」スパンでonchangeを実行する必要はありません。これは、変更するものがないためです。onchangeを'select'要素に配置する必要があります。あなたはあなたのコードに非常に近かった。

function upperCase()
{
    var a = document.getElementById('test').value;
    var b = document.getElementById('txtHint1').value;
    var c = a * b;

    document.getElementById('result').value = c;
}

<select name="text" onchange="upperCase()">YOUR PHP CODE<select>

私はこれをテストしませんでしたが、動作するはずです。

于 2013-02-08T16:25:32.443 に答える
0

元の質問にいくつかのエラーがあります。その最初のものはここにあります:

echo "<select name="test">;

これは二重引用符で囲まれた文字列であるため、テストの前後で二重引用符をエスケープするか、文字列を一重引用符で囲む必要があります。締めくくりの見積もりもありません。次のようになります。

echo '<select name="test">';

また、onchangeイベントを結果を表示する場所にバインドするのではなく、変更されたときにJavaScriptを実行する要素にバインドします。この場合、それがあなたの選択になります。今、私たちはこれまでです:

echo '<select name="test" onchange="upperCase()">';

この行:次C = A * Bのようになります。

var C = A * B;

さらに、コードはIDを持つ要素の値を設定しようとしていますresult。あなたの投稿によると、あなたはそれをに変更したいかもしれないようですtxtHint1

于 2013-02-08T16:26:56.320 に答える