[英]How to dynamically create table in html with certain constraints?
我想從用戶(編號)輸入並顯示與編號相同的次數。如果用戶輸入5,則該圖像應與圖像相鄰顯示5次,並在圖像下方顯示相應的編號-第一圖像'1'下第二圖像'2'。基本上將此表放入循環中。
<HTML> <BODY> <TABLE> <TR> <TD> <IMG SRC="C:/Users/User/Desktop/RE/G.JPG"> </TD> </TR> <TR><TD ALIGN="CENTER">1</TD> </TABLE>" </BODY> </HTML>
您可以添加輸入和按鈕來觸發功能。 您還可以檢查插入的值是否實際上是一個數字。
$(document).on('click', '#add', function() { var that = $(this); var times = parseInt($('#times').val()); for (i=1;i<=times;i++) { $('#table-wrp').append('<table class="table-times"><tbody><tr><td><img src="http://code52.org/aspnet-internationalization/icon.png" /></td></tr><tr><td>' + i + '</td></tr></tbody></table>'); } }); $(document).on('input', '#times', function() { var that = $(this); var value = that.val(); if ((value != '' || value != false) && !isNaN(value)) { $('#add').prop('disabled', false); } else { $('#add').prop('disabled', true); } });
#table-wrp { height: 80px; } .table-times { width: 100px; height: 80px; float: left; border-collapse: collapse; } .table-times td { border: 1px solid #d8d8d8; text-align: center; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <input type="textbox" id="times" /> <button id="add" disabled>Add</button> <div id="table-wrp"></div>
您可以使用jQuery來完成此任務,並編寫一個函數來生成具有動態值的HTML:
完整的解決方案
<HTML>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
function generateTable(number) {
return "<table><tr><td>" +
"<img src='C:/Users/User/Desktop/RE/G.JPG'></td></tr><tr><td align='center'>" +
number +
"</td></table>";
}
$(function(){
var userInput = 3;
for (var i = 0; i < userInput; i++) {
$('#dynamic').append(generateTable(i + 1));
}
});
</script>
</head>
<body>
<div id='dynamic'></div>
</body>
</html>
嘗試這個
$(function() { var tab = "<div></div>"; var num = prompt("Enter a number"); for (i = 0; i < num; i++) { $("#tab").append("<div class='left'><div><img src='http://placehold.it/150x150'></div><div>" + (i + 1) + "</div></div>"); } });
div.left { display: inline-block; margin-right: 5px; }
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> </head> <body> <div id="tab"> </div> </body> </html>
或獲取Pugazh答案的純JavaScript版本
var tab = "<div></div>"; var num = prompt("Enter a number"); for(i = 0; i < num; i++){ document.getElementById('tab').innerHTML += "<div><div><img src='http://placehold.it/150x150'></div><div></div></div>"; }
img{ float: left; box-shadow: 5px 5px 10px rgba(0,0,0,0.4); height: 100px; width: 100px; margin: 10px; }
<div id="tab"></div>
這將同樣有效,但也不需要jQuery。
<HTML>
<BODY>
<div id="tbl"></div>
</BODY>
</HTML>
<script>
var num = prompt("Enter a number");
var div=document.getElementById("tbl");
var l1='',l2="";
for(i=0;i<num;i++)
{
l1 += '<td><img src="C:/Users/User/Desktop/RE/G.JPG"></td>';
l2 += '<td>'+i+'</td>';
}
div.innerHTML = "<table><tr>"+l1+"</tr><tr>" + l2 + "</tr></table>";
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.