私のアプリでは、数量を選択するために各項目のポップアップを作成しようとしています。ページ上の異なる項目のJSポップアップ
これはページにいくつかの項目をプリロードしています。そのいずれかをクリックすると、ポップアップを表示する必要があります。
私はこの解決策を見つけて、それを試してみました:<div class="items">
<div class="menu_item_btn" href = "javascript:void(0)" onclick = "itemquantity()">
<%= item.name %>
</div>
<div id="light" class="itemshowcontent">
<p>Some content</p>
<a href = "javascript:void(0)" onclick = "closeitemquantity()">Close</a>
</div>
<div id="fade" class="blackoverlay"></div>
</div>
JS:
<script>
function itemquantity() {
document.getElementById('light').style.display='block';
document.getElementById('fade').style.display='block'
}
function closeitemquantity() {
document.getElementById('light').style.display='none';
document.getElementById('fade').style.display='none'
}
</script>
それは作品を、私は数量を選択した場合しかし、それは常にだけ来て最初の項目のためにそれを選択します。
2番目の項目(または他の項目)をクリックすると、最初のポップアップが表示されます。
IDは1つのオブジェクトにのみ使用されるため、これはgetElementByIdを使用しているためです。
getElementsByClassNameに変更しようとしましたが、まったく動作しません。だから、私の質問はそれを動作させる方法です?
クラスを使用することに固執すべきですか?または、何とかクラス内でIDを使用しますか?
私はそれが簡単な質問であればお詫び申し上げますが、私はJSに精通していません。
アドバイスありがとうございます。
編集: ここに私がしていることのためのいくつかの画像があります。これはリストされたオブジェクトのあるページです: これは、リストに表示されたDBから事前にロードされたオブジェクトです。いずれかをクリックすると、このポップアップが表示されます:
数量を選択してください。 私はエリキシルとフェニックスのフレームワークで開発しています。
あなたが複数回ページにこれを持っている場合、あなたは何度も**すべて**それの多くを持っていますか?たとえば、複数の '.items'要素も同様です。 –
ちょっと@ T.J.Crowder、確かではない私があなたを正しく理解していれば、ページで私はDBから複数のオブジェクトをプリロードし、オブジェクトのクリックでポップアップを表示する必要があります。ポップアップの中には、選択されたオブジェクトをどのように扱うかのオプションがあり、選択するとページがリロードされます。したがって、基本的に各オブジェクトには、ポップアップで表示できるいくつかの関数があります。 – Ilya
複数の '.items'要素がありますか?上記の*全体構造は複製されていますか? –