将 jQuery 添加到循环 div
Adding jQuery to looped divs
我已经使用 php 从 mySQL 检索了我的数据。检索到的数据被循环遍历,因此每个 div 都有一个 id 为 "bills" +1 和 "bills_info" +1。
我正在尝试将 jquery 添加到这些 div 中,以便在单击之前隐藏某些文本。但是由于 div 是循环遍历的并且具有不同的名称,我也想循环遍历 jquery,所以我将不得不编写与 div 一样多的代码秒。
这是我的代码:
$i=0;
$j=0;
while($row = $result->fetch_assoc()) {
// Write the value of the column FirstName and BirthDate
echo "<div data-role='main' id='bill" .$i++."' class='bills'>" . $row['BName'] . "</div>";
echo "<div data-role='popup' id='bill_info" .$j++."' class='bill_info'><p>Account number: ". $row['AccNumb'] ."</p>
<p> Reference Numebr: " . $row['RefNumb'] . "</p>
<p> Amount: " . $row['Amount'] . "€</p>
<p> Due date: " . $row['eDate'] . "</p></div>";
}
Jquery:
var i = 0;
var j = 0;
$(function() {
$( '#bill_info' + j++ ).dialog({
autoOpen: false
});
$("#bills" + i++).click(function() {
$("#bill_info" + j++).dialog("open");
});
});
通过 class 而不是 id 定位,并使用 next()
top select 正确的 bill_info
元素代替:
$(function() {
$('.bills').dialog({
autoOpen: false
});
$('.bills').click(function() {
$(this).next().dialog("open");
});
});
对于对话框,您可以使用它们的 class 作为选择器,插件将使用 class.
初始化所有元素
对于按钮(或任何 #billsx
是),您可以添加一个带有增量数字的数据属性,还可以使用 class 添加点击处理程序
<div data-role='main' data-id='bill_info" .$i++."' class='bills'>
JS
$('.bill_info').dialog({
autoOpen: false
});
$('.bills').click(function(){
var dialogId = $(this).data('id');
$('#'+dialogId).dialog('open');
});
我已经使用 php 从 mySQL 检索了我的数据。检索到的数据被循环遍历,因此每个 div 都有一个 id 为 "bills" +1 和 "bills_info" +1。 我正在尝试将 jquery 添加到这些 div 中,以便在单击之前隐藏某些文本。但是由于 div 是循环遍历的并且具有不同的名称,我也想循环遍历 jquery,所以我将不得不编写与 div 一样多的代码秒。
这是我的代码:
$i=0;
$j=0;
while($row = $result->fetch_assoc()) {
// Write the value of the column FirstName and BirthDate
echo "<div data-role='main' id='bill" .$i++."' class='bills'>" . $row['BName'] . "</div>";
echo "<div data-role='popup' id='bill_info" .$j++."' class='bill_info'><p>Account number: ". $row['AccNumb'] ."</p>
<p> Reference Numebr: " . $row['RefNumb'] . "</p>
<p> Amount: " . $row['Amount'] . "€</p>
<p> Due date: " . $row['eDate'] . "</p></div>";
}
Jquery:
var i = 0;
var j = 0;
$(function() {
$( '#bill_info' + j++ ).dialog({
autoOpen: false
});
$("#bills" + i++).click(function() {
$("#bill_info" + j++).dialog("open");
});
});
通过 class 而不是 id 定位,并使用 next()
top select 正确的 bill_info
元素代替:
$(function() {
$('.bills').dialog({
autoOpen: false
});
$('.bills').click(function() {
$(this).next().dialog("open");
});
});
对于对话框,您可以使用它们的 class 作为选择器,插件将使用 class.
初始化所有元素对于按钮(或任何 #billsx
是),您可以添加一个带有增量数字的数据属性,还可以使用 class 添加点击处理程序
<div data-role='main' data-id='bill_info" .$i++."' class='bills'>
JS
$('.bill_info').dialog({
autoOpen: false
});
$('.bills').click(function(){
var dialogId = $(this).data('id');
$('#'+dialogId).dialog('open');
});