データベースから入力される<select>
ドロップダウンがあります。ドロップダウン用にアイテムのリストが生成されると、各アイテムの詳細情報を表示するボタンも生成されます。しかし、ドロップダウンで現在選択されている値に対応するボタンを除いて、すべてのボタンを非表示にしたいと思います。
ユーザーがドロップダウンの 3 番目の値を選択したとします。その変化を監視する JavaScript があり、その値に基づいて対応するボタンが表示されます。ユーザーがボタンをクリックすると、選択したオプションのすべての情報が警告ウィンドウに表示されます。ここで、ユーザーはその値を他のオプションに再度変更します。値が一致しないため、前のボタンは非表示になり、一致するボタンが表示されます。
すべての JavaScript は外部ファイルで使用されることに注意してください。このフォームには複数のドロップダウンがあるため、パラメーターを取り込む必要があります。
JavaScript
function determineDisplay(Item, itemView) {
var locateItem = document.getElementById(Item);
var locateView = document.getElementByClassName('.' + itemView);
locateItem.change(function() {
if(locateItem.value == locateView.id) {
locateView.style = "block";
locateView.show();
}
else
locateView.hide();
}
}
HTML
<div id="SnackBox" style="display: none">
<select id="dfood" name="dfood"
onchange="determineDisplay(this, 'content_one');">
<option>--Select--</option>
<?php foreach($dfood_products as $key => $product) :
$name = $product['name'];
$cost = number_format($product['cost'], 2);
$item = $name . ' ($' . $cost . ')';?>
<option value="<?php echo $key; ?>"><?php echo $item; ?></option>
<?php endforeach; ?>
</select>
<input name="df_qty" type="text" placeholder="qty" size="1" maxlength="1"/>
<?php foreach($dfood_products as $key => $product) : ?>
<input type="button" value="view" id="displayInfo('<?php echo $key; ?>');"
class="content_one" style="display:none"
onclick="displayInfo('<?php echo $key; ?>');"/>
<?php endforeach; ?>
</div>
<span id="SnackPlate"></span>