2016-04-19 13 views
2

ラジオボタンは2つあります.1つは車ブランド用、もう1つは車種用です。カーブランドから「Audi」を選択すると、データベースに「Audi」というブランド名のすべての車種が$(ajax)でフェッチされます。

function fetchModels() { 
    $.ajax({ 
    type: "POST", 
    url: "script/rent/models.php", 
    data: {dateFrom: selectedDateFrom, 
      dateTo: selectedDateTo, 
      destination: selectedDestination, 
      brand: selectedBrand}, 

    success: function(data) { 
     $("#model-wrapper").html(data); 
    } 
    } 
);} // fetchModels END 


/* Whenever the selected car brand is changed, change the value of 
    selectedBrand and run the function fetchModels(). */ 

    $('input[type=radio][name=brand]').on('change', function() { 
     switch($(this).val()) { 
      case 'Audi': 
      selectedBrand = "Audi"; 
      break; 
      case 'Toyota': 
      selectedBrand = "Toyota"; 
      break; 
      case 'Volkswagen': 
      selectedBrand = "Volkswagen"; 
      break; 
      case 'Volvo': 
      selectedBrand = "Volvo"; 
      break; 
     } 

     fetchModels(); 

    }); 

私の問題は、models.phpが選択されたカーブランドから価値を得ることができないということです。それは、選択された場所に応じて、自分のカーブランドも動的に変更される(車種と同じように)という事実によって引き起こされる可能性があります。言い換えれば

は、このwhileループは、車のブランドを取得するためにbrands.phpで実行されています。私は、PHPファイルに手動で<input type="radio" name="brand"/>を追加

while ($row = mysqli_fetch_array($result)) { 
    $brand = $row['brand']; 
    echo "<input type=\"radio\" name=\"brand\" value=\"$brand\">" . $brand . "</input>"; 
} 

場合、それは正常に動作しますが、それは得ることができません生成された値からの値。

私の問題を説明するGIF:

A gif explaining my issue

Testは明らかではありませんしながら、アウディとフォルクスワーゲンがbrands.phpによって生成されたラジオボタンです。

+0

右クリックして、ソースを表示し、HTML出力の内容を貼り付けてください。 –

+1

あなたの 'switch'は重複しています。どうしてそれらをまとめて、 'selectedBrand = $(this).val()'しか持っていないのですか? – tadman

+0

@tadmanはい私はすでにモデル選択でそれをしてきました。私はまだブランド選択でそれをやり遂げることに慣れていない。 – robert

答えて

0

リンクしたyour generated HTMLの画像に基づいて、問題は使用しているケースステートメントから発生します。生成された値はcaseステートメントには存在しないので、大文字小文字は選択されないので、当然selectedBrandは設定されません。これは静的対動的に生成された要素とは関係ありません。

コメントで指摘したように、caseステートメントはとにかく余計です。 selectedBrand = $(this).val()と交換してください。したがって、選択された値は、それが何であるかにかかわらず取得されます

関連する問題