대부분의 연결 선택 항목은 JSON으로 수행되는 것으로 보입니다.하지만 유감스럽게도 내 데이터베이스를 사용하여이 작업을 수행하는 것이 훨씬 편리합니다. 거의 다 왔지만 어떤 이유로 두 번째 선택 상자가 제대로로드되지 않습니다. 대신 HTML이 페이지의 전체 HTML을로드하고 있는데 이유가 확실하지 않습니다.jquery/php/database가 작동하지 않는 체인 선택 상자
$(document).ready(function(){
$("select#type").attr("disabled","disabled");
$("select#category").change(function(){
$("select#type").attr("disabled","disabled");
$("select#type").html("<option>loading...</option>");
var id = $("select#category option:selected").attr('value');
$.post("select_type.php", {id:id}, function(data){
$("select#type").removeAttr("disabled");
$("select#type").html(data);
});
});
$("form#select_form").submit(function(){
var cat = $("select#category option:selected").attr('value');
var type = $("select#type option:selected").attr('value');
if(cat>0 && type>0)
{
var result = $("select#type option:selected").html();
$("#result").html('your choice: '+result);
}
else
{
$("#result").html("you must choose two options!");
}
return false;
});
});
: 여기
내가있어 무엇JS()이 make_list()와 model_list을 (주 각각의 기준에 적합한 배열을 반환 내가 이전에 내장 된 기능은 다음과 같습니다) HTML/PHP :
<form id="select_form">
<div class="clearfix">
<select id="category">
<option value="">Any</option>
<?php foreach (make_list() as $make) { ?>
<option value="<?php echo $make ?>"><?php echo $make ?></option>
<?php } ?>
</select>
</div>
<div class="clearfix">
<select id="type">
<option value="">Any</option>
</select>
</div>
</form>
첫 번째 선택을 변경하면 JQuery는 'select_type.php'라는 동일한 폴더의 파일을 조사해야합니다. 여기에 그 파일 안에 뭐가 있어요 (이상하게 $ _POST [ 'ID'] 그것이 JS에서 생성에도 불구하고, 하나이 파일에 추가하지 않는 것) :이 자원을 사용하고
foreach (model_list($_POST['id']) as $model) {
echo '<option value="'.$model.'">'.$model.'</option>';
}
을 이 프로젝트는 http://www.yourinspirationweb.com/en/how-to-create-chained-select-with-php-and-jquery/이며, 대부분의 방법이 필요하지만 불행히도 데이터는 두 번째 선택 상자에로드되지 않는 것 같습니다.
감사합니다.