动态创建的表,行数可变

时间:2011-12-06 10:55:55

标签: javascript jquery asp.net css

我需要制作行数等于当月的天数, 任何人都可以帮助我吗? 我需要使用jquery或javascript动态创建它。

3 个答案:

答案 0 :(得分:4)

你可以这样做:

function daysInMonth(month,year) {
    return new Date(year, month, 0).getDate();
}


var $table = $('<table>');
var $tbody = $('<tbody>');

var days=  daysInMonth(new Date().getMonth(), new Date().getYear());

$table.append($tbody);
for (i = 1; i<= days; i++){
    var $tr = $('<tr>');
    var $td = $('<td>');
    $td.text(i);
    $tr.append($td);
    $tbody.append($tr);
};
$('body').append($table);

在这里摆弄:http://jsfiddle.net/nicolapeluchetti/WG88Y/

这会为每月的每一天创建一个包含行的表。我在当天加入了一个td。

答案 1 :(得分:1)

只要我们不知道你想要做什么技术。 (纯javascript,jquery,asp.net webforms,asp.net mvc或其他)我唯一可以说的是。

您可以循环DateTime.DaysInMonth(DateTime.Now.Date.Year, DateTime.Now.Date.Month);,其中包含当前月份的天数。

希望这会有所帮助

答案 2 :(得分:1)

这是@dknaack回答的jQuery部分:

var genTable = function () {
  var $table = jQuery("<table />");
  // days is equeal to @dhnaack 's answer
  var days = DateTime.DaysInMonth(DateTime.Now.Date.Year, DateTime.Now.Date.Month);
  jQuery(days).each(function(i,e) {
    var $tr = jQuery("<tr />");
    var $tr = jQuery("<td />")
    $table.append($tr.append($td));
  });
  return $table;
}

然后你可以像这样使用它:

jQuery("body").append(genTable());