如何使用javascript创建动态网格

时间:2016-01-06 13:16:11

标签: javascript

s.no。 |描述

  1. ABCD1
  2. ABCD2
  3. ABCD3
  4. 我想通过输入添加更多行。现在我想要的是什么时候我会添加另一行。让我们说{descrition =“abcd4”}

    然后上面的网格将成为

    s.no。 |描述

    1. ABCD4
    2. ABCD1
    3. ABCD2
    4. ABCD3
    5. 意思是s.no.字段已更新,新行将添加到顶部。在顶部添加新行没有问题,但我怎么能更新s.no.同时,在这里我想问一下有没有具体的方法来做到这一点。

3 个答案:

答案 0 :(得分:1)

这是一个在表格顶部添加行并更新数字的解决方案:



document.querySelector('#btnadd').addEventListener('click', function () {
  var inp = document.querySelector('#inpadd');
  var descr = inp.value;
  if (descr === '') return; // do not add empty values
  var grid = document.querySelector('#grid');
  // first increment all row numbers
  for (var i = 1, row; row = grid.rows[i]; i++) {
    row.cells[0].textContent = i+1;
  }
  // add new row
  var row = grid.insertRow(1);
  var cell1 = row.insertCell(0);
  var cell2 = row.insertCell(1);
  cell1.textContent = 1;
  cell2.textContent = descr;
  // clear input
  inp.value = "";
});

New description: <input type="text" id="inpadd"><button id="btnadd">Add</button>
<table id="grid">
  <tr><th>s.no.</th><th>description</th></tr>
<table>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果要在有序列表的开头插入新的文字说明,可以使用&#39; insertBefore&#39; javascript代码:

list.insertBefore(entry, list.firstChild);

它应该在列表的开头添加新文本。如果它有助于您的问题,请参阅下面的代码。

<!DOCTYPE html>
<html>
<body>

<p>Input the text description and click 'Add Description' button to insert in list:</p>

<form>
Description Text:<br>
<input type="text" name="description" id="description">
<br>
<input type="button" value="Add Description" onclick='appendDescription()'>
</form>

<ol id="desclist">
<li>abcd1</li>
<li>abcd2</li>
<li>abcd3</li>
</ol>

<script>
function appendDescription(){
var description= document.getElementById('description').value;
var entry = document.createElement('li');
entry.appendChild(document.createTextNode(description));

var list = document.getElementById('desclist');

list.insertBefore(entry, list.firstChild);
}
</script>
</body>
</html>

答案 2 :(得分:0)

var pirates = new List<Pirate>(); // or wherever your pirates will come from

var data = from p in pirates
           let pirateId = p.Id
           from s in p.Ships
           select new
           {
               PirateId = pirateId,
               Name = s.Name,
               Class = s.ShipClass,
               AvastyMast = s.AvastyMast
           };

如果您的网格是java脚本数组并且元素是json元素,则它可以工作。