私はサーバーサイド言語としてPHPを使用し、AjaxでJQueryを使用して依存セレクトボックスフォームを作成しています。私は2番目の選択ボックスにオプションとして表示されていないので、応答テキストの取得に問題があります。動的依存セレクトボックス(PHP + JQuery + AJAX)
P.S.私はAjaxが初めてで、私の問題を助けるビデオはありません。
HTML & PHP:
<center><form method="post" action="php/functions.php" id="catForm">
<select name="catSelect" class="catSelect" name="category">
<option value='null' default>اختر الفئة:</option>
<?php
$selectCategories = mysqli_query($connectionDB, "SELECT * FROM categories");
while($categoriesDisplay = mysqli_fetch_array($selectCategories)){
echo '<option value="'.$categoriesDisplay['id'].'">'.$categoriesDisplay['category'].'</option>';
}
?>
</select><br/><br/>
<select name="subCatSelect" class="subCatSelect">
<option value="null" default>اختر النوع:</option>
<?php
$catSelectVal = $_POST['catSelect'];
$selectSubCat = mysqli_query($connectionDB, "SELECT * FROM sub_categories WHERE id LIKE '$catSelectVal'");
while($subCatDisplay = mysqli_fetch_array($selectSubCat)){
echo '<option value="'.$subCatDisplay['id'].'">'.$subCatDisplay['subCategory'].'</option>';
}
?>
</select><br/>
<h1></h1>
<input type="submit" value="اختر" class="submitForm" /><br/>
</form></center>
のjQueryコード:
$(document).ready(function(){
$('.catSelect').change(function(){
var changeURL = $('#catForm').attr("action");
var data = $('.catSelect').val();
$.post(changeURL, {category : data}, function(subCategory){
$('.subCatSelect').append(subCategory);
});
});
});
第2の選択ボックスのオプションを得る上で動作するはずコード:
$catSelectVal = $_POST['catSelect'];
$selectSubCat = mysqli_query($connectionDB, "SELECT * FROM sub_categories WHERE id LIKE '$catSelectVal'");
while($subCatDisplay = mysqli_fetch_array($selectSubCat)){
echo '<option value="'.$subCatDisplay['id'].'">'.$subCatDisplay['subCategory'].'</option>';
}
ブラウザjsデバッガを使用してデバッグを行いましたか?特に、この行 'var data = $( '。catSelect')。val();' – RiggsFolly
PHPスクリプトの 'print_r($ _ POST);'はおそらく別のエラーを特定するでしょう – RiggsFolly
これはhttp:// stackoverflow .com/questions/2780566/get-selected-of-a-dropdowns-item-using-jquery – RiggsFolly