0
<div>
がクリックされたときに表示されるモーダルを作成しましたが、whileループの最初の結果のみで動作します。私は同じものに一意のIDを割り当てなければならないと思う。私は試みたが、これはjqueryではなくjavascriptである。だから私はそれをどうやって行うのか混乱している。whileループでモーダルを開くJavascript
Javascriptを:
var modal = document.getElementById('edit-post-model-box');
var btn = document.getElementById("edit-post-model");
var span = document.getElementsByClassName("close")[0];
btn.onclick = function() {
modal.style.display = "block";
}
span.onclick = function() {
modal.style.display = "none";
}
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
HTML:
<?php while($get_stf = $abc->fetch()) { ?>
<ul>
<li><a href="#" id="edit-post-model" data-row="<?php echo $get_stf['sts_id']; ?>" class="edit-status-post">Edit Post</a></li>
<li class="border-bottom-none"><a href="">Delete Post</a></li>
</ul>
<div id="edit-post-model-box" class="modal" data-row="<?php echo $get_stf['sts_id']; ?>">
<div class="modal-content">
<span class="close">x</span>
<p><?php echo $get_stf['sts_id']; ?></p>
</div>
</div>
<?php } ?>
モデルは、現在、whileループで第一結果にのみで動作します。関連性の高い方法で一意のIDとして<?php echo $get_stf['sts_id']; ?>
を使用すると、すべての結果に適用されます。私は一意のIDを割り当てるための属性としてdata-row
を使用しました。彼はユニークなIDでJavascriptを修正するのを手伝ってください。
は一意のIDを有する唯一の要素である可能性があり、使用クラスの代わりには、 'これは推測する、唯一の要素を返すgetElementById'問題...また、 'getElementsByClassName'ですべての' close'スパンを選択しますが、 '[0]'で最初に選択するだけです – Kazz