私は最初の選択ボックスが必要なフォームを持っています。選択に応じて、別のテーブルがクエリのソースとして使用され、2番目の選択ボックスに入力されます。その後、第1の選択に応じて、第3の選択ボックスが必要な場合としない場合があります。最初に3つの選択ボックスを表示するようにフォームを設計しましたが、場合によっては2番目の選択ボックスをスキップする必要があります。これは少なくとも混乱しています。例: 「会社」に「なし」が選択されている場合は、墓地&セクション選択ボックスが表示されます(セクションは墓地が選択されていることに依存しています)。 XYZ社が選択されている場合(墓地は、特定の会社のように)、そして唯一のセクション選択ボックスには、選択/見られることが必要となる。ここで3番目の選択ボックスを選択的に追加するか、2番目の選択ボックスにラベルを付け直してリダイレクトするのですか?
<script>
function getCemetery(val) {
$.ajax({
type: "POST",
url: "get_cemetery.php",
data:'company_name='+val,
success: function(data){
$("#cemetery-list").html(data);
}
});
}
は、フォームのコードです:
<body>
<div class="frmDronpDown">
<div class="row">
<label>Company:</label><br/>
<select name="company" id="company-list" class="demoInputBox" onChange="getCemetery(this.value);">
<option value="">Select Company</option>
<?php
foreach($results as $company) {
?>
<option value="<?php echo $company["name"]; ?>"><?php echo $company["name"]; ?></option>
<?php
}
?>
</select>
</div>
<div class="row">
<label>Cemetery:</label><br/>
<select name="cemetery" id="cemetery-list" class="demoInputBox" onChange="getSection(this.value);">
<option value="">Select Cemetery</option>
<?php
foreach($results as $cemetery) {
?>
<option value="<?php echo $cemetery["name"]; ?>"><?php echo $cemetery["name"]; ?></option>
<?php
}
?>
</select>
</div>
<div class="row">
<label>Section:</label><br/>
<select name="section" id="section-list" class="demoInputBox">
<option value="">Select Section</option>
</select>
</div>
</div>
</body>
そして、ここで追加のPHPコードがあるスクリプト内で呼び出されます。
<?php
require_once("dbcontroller.php");
$db_handle = new DBController();
if(!empty($_POST["company_name"])) {
if (($_POST["company_name"]<>"None") && ($_POST["company_name"]<>"Other")) {
$sql="SELECT name, available FROM compsections WHERE cname = '".$_POST["company_name"]."'"." ORDER by available desc;";
$result = mysql_query($sql) or die (mysql_error());
$row = mysql_fetch_row($result);
$section = $row[0]; // best choice to use if auto fill
$query="SELECT * FROM compsections WHERE cname = '".$_POST["company_name"]."'"." ORDER by available desc;";
$results = $db_handle->runQuery($query);
echo '<option value="">Select Section</option>';
}else{
$query ="SELECT * FROM cemeteries";
$results = $db_handle->runQuery($query);
echo '<option value="">Select Cemetery</option>';
}
foreach($results as $cemetery) {
?>
<option value="<?php echo $cemetery["name"]; ?>"><?php echo $cemetery["name"]." - ".$cemetery["available"]; ?></option>
<?php
}
}
?>
編集: は.hideと.SHOWについての私に言ってくれてありがとう。私は例を探し、私が見つけることができるのはボタンをクリックすることです。 if..elseでPHPを使用する例を示しますか?
ありがとうございます。 ラス
使用jqueryの '.hide()'と '.SHOW()'必要のないボックスを非表示にし、対応する選択が行われたときにそれらを表示します。 –
ありがとう、それは私を正しい軌道に乗せる。私は.slideup()を使用して終了しました。 – Russ