如何获取动态生成的td属性和内部元素id标记的值,且在js / jquery中具有tr的id - javascript

我试图用PHP,jQuery和Ajax构建事件日历。
日历集成在HTML表格中,表格的行和字段是根据特定月份中的天数动态生成的。我需要通过id(在表中创建的天数)获取td元素的值,并通过在表内部创建的id(事件id号)获取div的值。我需要唯一的ID号才能创建/编辑/删除事件并将其存储在数据库中。

问题是ID号是动态生成的,具有行和字段,而我事先并不知道。否则,如果我提前知道ID号,就不会有问题。
在这种情况下,请给我任何提示。

这些循环生成表行和字段ID号:

$month_row = 1;
$calendar .= "<table id='calendar-grid' class='table table-bordered calendar-grid'>";
$calendar .= "<tr><th>Sun</th><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr>";
$calendar .= "<tr id='row_".$month_row."' class='calendar_row'>";
for($i = 1; $i <= $offset; $i++){
    $calendar .= "<td></td>";   // generate empty fields according to offset number
}
for($day = 1; $day <= $daysInMonth; $day++) {           
    if( ($day + $offset - 1) % 7 == 0 && $day != 1) {
        $month_row++;
        $calendar .= "</tr><tr id='row_".$month_row."' class='calendar_row'>"; 
        $rows++;
    }
    if($currentDay == $day && date("F") == date("F", $date)){
        $calendar .= "<td id='date_". date("Y-m").'-'.$day ."' class='eventList currentDay'>" . $day . "</td>";
    }
    else{
        if(($day + $offset - 1) % 7 == 0){
            $calendar .= "<td id='date_". date("Y-m").'-'.$day ."' class='eventList Sunday'>" . $day . "</td>";
        }else{
            $calendar .= "<td id='date_". date("Y-m").'-'.$day."' class='eventList'>" . $day . "</td>";
        }           
    }   
}

while( ($day + $offset) <= $rows * 7)
{
    $calendar .= "<td></td>";
    $day++;
}
$calendar .= "</tr>";
$calendar .= "</table>";
echo '</div>';

![在此处输入图片描述] [1]

这就是生成表的外观。

这是一个脚本:

http://screencast.com/t/yhWbeEC1nfxo

参考方案

您从类为calendarRow的行列表开始,然后深入每一行,并获得该行中的天数列表,然后是每一天的事件列表:

$(function() {
    // Get all the rows
    var calendarRows = $("tr.calendar_row");

    // Drill down to each row
    calendarRows.each( function(rowIndex, selectedRow) {
        // Print out the row ID
        console.log("Row ID = "+selectedRow.attr("id"));

        var calendarDays = selectedRow.find("td.eventList");

        // Drill down to each day
        calendarDays.each( function(dayIndex, selectedDay) { 
            // Print out the day ID
            console.log("Day ID = "+selectedDay.attr("id"));

            var events = selectedDay.find("div.eventStyle");

            // Drill down to each event
            events.each( function(eventIndex, selectedEvent) { 
                // Print out the event details
                console.log("Event number "+eventIndex+" has ID="+selectedEvent.attr("id")+" and text="+selectedEvent.text());
            });
        });
    });
});

请注意,您不必遍历所有行或整天来获取事件详细信息。您可以这样做:

$(function() {
    var events = $("div.eventStyle");

    // Drill down to each event
    events.each( function(eventIndex, selectedEvent) { 
        // Print out the event details
        console.log("Event number "+eventIndex+" has ID="+selectedEvent.attr("id")+" and text="+selectedEvent.text()+" and has parent with ID="+selectedEvent.parent().attr("id"));
    });
});

Telerik单选按钮所需的字段验证器 - javascript

如何设置Telerik单选按钮所需的字段验证器?我想在按钮单击“ BtnSave”上设置必填字段验证器吗?请帮忙!<telerik:RadButton ID="radio_male" runat="server" ToggleType="Radio" AutoPostBack="fa…

表单不提交或按钮提交不起作用 - javascript

据我所知,此代码必须有效,但是我编码时却无效问题在于该表单未提交。我该如何解决?选中时,我什至没有得到复选框的值。<table id="example" class="display" cellspacing="0" width="100%"> <thead&g…

在PHP文件中调用javascript函数并在加载HTML文件之后? - javascript

我需要在我的php中调用js函数,但无法正常工作。有人可以告诉我我在做什么错吗?我该如何轻松地做到这一点?谢谢!我有三个文件:  mail.php负责发送$ _POST的内容(工作正常)。我调用我的javascript函数来切换模式,具体取决于邮件是否已发送。 <? ... $response = $sendgrid->send($email);…

如何使用PHP从动态输入字段捕获数组值? - javascript

我正在编写一个在线时间跟踪网页,允许用户将学习时间输入该系统。用户将首先输入名称,然后根据日期输入学习时间。一天中可能会有多个学习时间。以下是我第一页的编码,<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"…

使用php重新加载内容 - javascript

在对网站进行编程时,我以前使用过此代码,它可以完美工作,但是现在当我想使用一些Flash部件时,每次单击链接时,它都会重新加载所有网站。源代码: <!DOCTYPE html> <html> <head> <title>Hot King Staff</title> <meta charset=…