0

編集1

このコードから courseID を取得しています:

    $coursesOutput = '<option value=""></option>';

    while($row = mysql_fetch_array($result2)){
        $courseID = $row['courseID'];
        $courseName = $row['name'];

        $coursesOutput .= '<option value="' . $courseID . '">' . $courseName . '</option>'; 
    }

私のphpスクリプトは次のとおりです(エコーステートメントを返します)

    <?php

    include ("includes/connect.php");

    $courseID = mysql_real_escape_string($_GET['courseID']);
    $sql = "SELECT tee1, tee2, tee3, tee4, tee5 FROM courses WHERE courseID='$courseID' LIMIT 1";
    $result = mysql_query($sql) or die(mysql_error());

    while($row = mysql_fetch_array($result)){
  $tee1 = $row['tee1'];
  $tee2 = $row['tee2'];
  $tee3 = $row['tee3'];
  $tee4 = $row['tee4'];
  $tee5 = $row['tee5'];
    }

    $teesOutput = '<option value="' . $tee1 . '">' . $tee1 . '</option>';

    if($tee2 != ""){
  $teesOutput .= '<option value="' . $tee2 . '">' . $tee2 . '</option>';
    }
    if($tee3 != ""){
   $teesOutput .= '<option value="' . $tee3 . '">' . $tee3 . '</option>';
    }
    if($tee4 != ""){
  $teesOutput .= '<option value="' . $tee4 . '">' . $tee4 . '</option>';
    }
    if($tee5 != ""){
  $teesOutput .= '<option value="' . $tee5 . '">' . $tee5 . '</option>';
    }

    echo '' . $teesOutput . '';
    die();
    ?>

ajax エラーは発生していませんが、ティー セレクターにはまだ何も入力されていません。これがお役に立てば幸いです。信じられないほど、ここでのサポートに圧倒されています。

編集 1 を終了

私はしばらくの間、この AJAX-JQUERY 機能を理解できませんでした。これは、優れた jQuery プログラマーにとって簡単な場所になるはずです。

ユーザーがコースを選択した後、ティー選択入力を自動入力できるようにしたいと考えています。これはゴルフ アプリであり、コースにはいくつかの異なるティー カラー スキームがあるため、それぞれがコース固有になります。

これまでのところ、私の壊れたコードは次のとおりです。

HTML

<form id="formAddScore" action="addscore.php" enctype="multipart/form-data" method="post">
    <p class="profile_label">Select Date:</p>
    <input type="text" id="datepicker" name="datepicker" class="score_input" />

    <p class="profile_label">Select Course:</p>
    <select id="course" name="course" class="score_input" onchange="populateTee(this.value)">
        ' . $coursesOutput . '
    </select>

    <p class="profile_label">Select Tee:</p>
    <select id="tee" name="tee" class="score_input">

    </select>

    <p class="profile_label">Actual Score:</p>
    <input id="score" name="score" class="score_input" type="text" size="10" />

    <p class="profile_label">Score ESC (Equitable Stroke Control):</p>
    <input id="scoreESC" name="scoreESC" class="score_input" type="text" size="10" />
    <br/>

    <input id="btnAddScore" name="btnAddScore" class="btn_score" type="submit" value="Add Score" />

</form>

Jクエリ

function populateTee(courseID)
{
    $.ajax(
    {
        url: 'includes/populate_tee.php?courseID=' + courseID,
        success: function(data) {
        $("#tee").html(data);
               }
    });
}

PHP

populate_tee.php スクリプトは機能するので、それを含めて時間を無駄にすることはありません。

問題は上記の JQUERY-AJAX スクリプトにあると確信しています。

どんな助けでも素晴らしいでしょう。

前もって感謝します。

4

2 に答える 2

0

courseID はどこから来たのですか? コンソールにログインしてみてください。これは役に立ちますか?

function populateTee(courseID){
   $.ajax({
           url: 'includes/populate_tee.php?courseID=' + courseID,
           success: function(data) {
                    //Assuming you're returning the tees list as an indexed array
                    var ops = '';
                    for(var i=0; i<data.length; i++){
                        ops += '<option>'+data[i]+'</option>';
                    }
                    $("#tee").html(ops);
           }
   });
 }
于 2013-01-03T04:57:04.227 に答える
0

選択時に onChange イベントを使用する代わりに、jquery .change() メソッドの使用をお勧めします。問題を解決するはずの次のコードを試してください。

 $('#course').on('change', function () {
          var courseID = $(this).val();

          $.ajax({
                type: "post",
                url: 'includes/populate_tee.php?courseID=' + courseID,
                success: function(data) {
                $("#tee").html(data);
               }
              });


      });
于 2013-01-03T04:59:31.477 に答える