0

そのため、PHP MySQL リクエストから動的に作成される選択ボックスに現在の情報を表示するテキスト ボックスのグループを取得しようとしています。選択は正常に生成されますが、テーブルの最後の行にのみデータが入力されます。選択ボックスを変更すると、テキスト ボックスが更新されて新しい情報が反映されるようにしたいと考えています。

MySQL から情報を取得するための現在のコード:

  <div id="edithidden" style="display:none;">
        <div id="prompt"><strong>Section to Edit:</strong></div>
        <div id="answer">
        <form id="editorginfo" action="" method="post">
            <select id="edit">
                <option>Section to Edit</option>
                <?php
$query = $db->query("SELECT ID, OrgName, Phone, Location FROM emergencyorg");

while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
$pid=$row['ID'];
$name=$row['OrgName'];
$phone=$row['Phone'];
$loc=$row['Location'];

        echo "<option value='" . $pid . "' ";
        if($row['OrgName']==$pid){
        echo ' selected';
        }
        echo">" . $name . "</option>";
}
?>
</select>
        </div>          
        <div id="prompt">Organization Name:</div>
    <div id="answer">
        <input type="text" name="editorgname" id="editorgname" value="<?=$name?>"/>
    </div>
    <div id="prompt">Organization Phone Number:</div>
    <div id="answer">
        <input type="text" name="editorgphone" id="editorgphone" value="<?=$phone?>"/>
    </div>
    <div id="prompt">Orginization Location:</div>
    <div id="answer">
        <input type="text" name="editorglocation" id="editorglocation" value="<?=$loc?>"/>
    </div>
    <div id="prompt">
        <input type="submit" id="editorg" name="editorg" value="Update Information" />
    </div>
    </form>
    </div>

これは AJAX で行う必要がありますか?

よろしくお願いします!

4

3 に答える 3

0

はい、おそらく ajax が最善の策です。

しかし、それをしたくない場合 (おそらくサーバーへのヒットを最小限に抑えることが重要です)、すべての組織のすべてのデータを隠しフィールドにロードできます (組織の ID をプレフィックスとして使用して、異なる組織) を使用して、javascript を使用して、組織の onchange イベントのフィールドにデータをロードします。<select>

おそらくこのようなもの(jQueryを使用したテストされていない半疑似コード)

<select onchange="changeOrg(this);">
<option value='1'>My org</option>
.
.
.
</select>
<input type="hidden" name="1_org_address" id="1_org_address" value="12 Nowhere St" />
.
.
.

<label>Address</label><br />
<input type="text" name="org_address" id="org_address" />

<script>
function changeOrg(org){
var chosen_org_id = $(org).val()
 $("#org_address").val($("#" + chosen_org_id + "_org_address").val());
//etc
}
</script>
于 2012-12-07T02:12:58.210 に答える
0

これを行うには、javascript を使用する必要があります。2 つの方法があります。

1) PHP データを javascript オブジェクトに保存し、select に変更イベントを追加します。これは、選択したオプションに応じて、javascript オブジェクトに入り、新しい入力の値を見つけます。

また

2) select に変更イベントを追加して、AJAX 要求を実行し、入力の値を更新します。

于 2012-12-07T02:15:32.710 に答える