0

ドロップダウン リスト (ddlAccount) があり、そこから項目を選択し、test.php で db クエリを実行して対応するデータを取得し、返されたデータを含む入力要素を出力します。

これは私のJavaScriptコードです:

function load1(){
$('#divAccountNum').load('test.php?accountInfo=' + document.getElementById('ddlAccount').value , '' ,function() {
alert('Load was performed.')}); 
}

ドロップダウン リストの項目を変更すると load1 関数が呼び出され、選択したオプションの値が取得され、「accountInfo」というパラメーターで test.php に送信されます。

私のhtml:

  <select name="ddlAccount" id="ddlAccount" onchange="load1();">
    <option value="1"> Account1</option>
    <option value="2"> Account2</option>
    <option value="3"> Account3</option>
  </select>

  <div id="divAccountNum" >
  </div>

そして test.php :

if($_GET['accountInfo'])
{
    $account = $accountDAO->load($_GET['accountInfo']); //mysql query
        //print an input holding account number as its value
    echo "<input type='text' name='txtAccountNum' id='txtAccountNum' value='".$account->accountnumber."'/>"; 
}

問題は、オプションを選択しても何も起こらないことです (div (divAccountNum) には何も表示されません) 何か提案はありますか? 前もって感謝します。

編集: @thecodeparadox のコードのビットを使用して動作し、以下のコメントで言及した問題の解決策を見つけました。ドロップダウン リストから 1 つの項目を選択すると、入力要素の値が表示され、再びフォーム。解決策は次のとおりです 。jQuery Ajax はページ全体を返す ので、私の jquery コードは次のようになります。

$(document).ready(function(){
  $('#ddlAccount').on('change', function() {  
$.get('testJquery.php?accountInfo=' + $(this).val(), function(accountNum) {
    //console.log(accountNum);
    $('input#txtAccountNum').val(accountNum);
   });
});

そして testJquery.php :

if($_GET['accountInfo'])
{
    $account = $accountDAO->load($_GET['accountInfo']);
    $accountNum = $account->accountnumber;
    echo $accountNum;
}

そして最後に、id="txtAccountNum" を持つ divAccountNum に入力要素を追加しました

4

2 に答える 2

0

問題について十分な情報を提供していませんが、これを試すことができます:

function load1(){
  $('#ddlAccount').on('change', function() {  
    $.get('test.php?accountInfo=' + $(this).val(), function(response) {
       $('div#divAccountNum').html(response);
    }, 'html');
  });
}

ノート:

  1. $('#ddlAccount').on('change',ドロップダウンが変更されたときに発生します
  2. $.get('test.php?accountInfo=' + $(this).val()..test.phpドロップダウンから選択した値で get(ajax) リクエストを送信します
  3. 2番目のパラメーターのコールバック関数responseを持つ$.get()パラメーターは、サーバーからの応答です
  4. 'html'返すデータ型の 3 番目のパラメーターとして$.get()、html を返すので、html.

詳細については、次を参照してください。

変化する()

$.get()

于 2012-05-06T07:46:16.123 に答える
0

選択入力から選択されたオプション値を取得するには、次を使用します。

$('#ddlAccount option:selected').val()
于 2012-05-06T07:48:00.847 に答える