【问题标题】:Append error dynamic table追加错误动态表
【发布时间】:2017-05-13 01:02:02
【问题描述】:

我开发的动态表有问题,问题在于美观。每次用户单击“添加产品”时,代码应创建一个表格行,该行应与表格标题对齐。在我制作的这段代码中,生成的行信息正确,但是行的对齐有错误。

https://jsfiddle.net/aLnbntmg/

var arrayProduto = [];
var arrayQuantidade = [];

function addItem() {

  var produtoAdicionado = form_vender.seleciona_Produto.value;
  var quantidadeAdionada = parseInt(form_vender.quantidadeVenda.value);
  var achou = false;

  for (i = 0; i < arrayProduto.length; i++) {

    if (arrayProduto[i] == produtoAdicionado) {
      achou = true;
      arrayQuantidade[i] += quantidadeAdionada;
    }
  }

  if (achou == false) {

    arrayProduto.push(produtoAdicionado);
    arrayQuantidade.push(quantidadeAdionada);

  }

  form_vender.quantidadeVenda.value = '';

  $('#tabelavenda').append('<tr class="child"><td>' + produtoAdicionado + '</td><td>' + quantidadeAdionada + '</td></tr>');


}
table {
  font-family: arial, sans-serif;
  border-collapse: collapse;
  width: 100%;
}
td,
th {
  border: 1px solid #dddddd;
  text-align: center;
  padding: 8px;
}
tr:nth-child(even) {
  background-color: #dddddd;
}
.tabela {
  position: relative;
  width: 40%;
  height: auto;
  bottom: 10%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form id="form_vender">
  <h1> Vender</h1>

  <select id="seleciona_Produto">

    <option value="Uno">Uno</option>
    <option value="Duo">Duo</option>
    <option value="Trilogia">Trilogia</option>
    <option value="Cerveja">Cerveja</option>
    <option value="Refrigerante">Refrigerante</option>
    <option value="Fritas">Fritas</option>
    <option value="Água">Água</option>

  </select>



  <input type="text" size="3" placeholder="Qtde" id="quantidadeVenda">
  <br />
  <br />

</form>

<input type="submit" onclick="addItem()" value="Adicionar item">
<input type="submit" onclick="FinalizaVenda()" value="Finalizar Venda">
<br />
<br />
<br />

<div id="tabelavenda" class="tabela">
  <table>

    <thead>
      <tr>
        <th>Identificação</th>
        <th>Porte</th>
      </tr>
    </thead>



  </table>
</div>

【问题讨论】:

  • 您在表格之外追加...检查生成的 html....

标签: javascript jquery html arrays


【解决方案1】:

您不是附加到 table 而是附加到表的 wrapper - 使用这个:

$('#tabelavenda table').append('<tr class="child"><td>' + produtoAdicionado + '</td><td>' + quantidadeAdionada + '</td></tr>');

Updated fiddle

  var arrayProduto = [];
  var arrayQuantidade = [];

  function addItem() {

    var produtoAdicionado = form_vender.seleciona_Produto.value;
    var quantidadeAdionada = parseInt(form_vender.quantidadeVenda.value);
    var achou = false;

    for (i = 0; i < arrayProduto.length; i++) {

      if (arrayProduto[i] == produtoAdicionado) {
        achou = true;
        arrayQuantidade[i] += quantidadeAdionada;
      }
    }

    if (achou == false) {

      arrayProduto.push(produtoAdicionado);
      arrayQuantidade.push(quantidadeAdionada);

    }

    form_vender.quantidadeVenda.value = '';

    $('#tabelavenda table').append('<tr class="child"><td>' + produtoAdicionado + '</td><td>' + quantidadeAdionada + '</td></tr>');


  }
table {
  font-family: arial, sans-serif;
  border-collapse: collapse;
  width: 100%;
}
td,
th {
  border: 1px solid #dddddd;
  text-align: center;
  padding: 8px;
}
tr:nth-child(even) {
  background-color: #dddddd;
}
.tabela {
  position: relative;
  width: 40%;
  height: auto;
  bottom: 10%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form id="form_vender">
  <h1> Vender</h1>

  <select id="seleciona_Produto">
    <option value="Uno">Uno</option>
    <option value="Duo">Duo</option>
    <option value="Trilogia">Trilogia</option>
    <option value="Cerveja">Cerveja</option>
    <option value="Refrigerante">Refrigerante</option>
    <option value="Fritas">Fritas</option>
    <option value="Água">Água</option>
  </select>



  <input type="text" size="3" placeholder="Qtde" id="quantidadeVenda">
  <br />
  <br />

</form>

<input type="submit" onclick="addItem()" value="Adicionar item">
<input type="submit" onclick="FinalizaVenda()" value="Finalizar Venda">
<br />
<br />
<br />

<div id="tabelavenda" class="tabela">
  <table>

    <thead>
      <tr>
        <th>Identificação</th>
        <th>Porte</th>
      </tr>
    </thead>



  </table>
</div>

【讨论】:

  • 谢谢你,伙计:)
【解决方案2】:

将 id = "tabelavenda" 更改为这样的标记:

<table id="tabelavenda">

并从中删除或更改名称

<div id="other_name">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    • 2020-01-24
    • 2017-06-06
    • 2020-12-12
    • 2021-08-26
    相关资源
    最近更新 更多