Gostaria de tornar editáveis algumas células da tabela html, basta clicar duas vezes em uma célula, inserir algum texto e as alterações podem ser enviadas para o servidor. Não quero usar alguns kits de ferramentas como grade de dados dojo. Porque ele fornece alguns outros recursos. Você poderia me fornecer algum snippet de código ou conselhos sobre como implementá-lo?
fonte
contenteditable
div sempre que criar um novo<td>
. Caso contrário, conforme mencionado na postagem, você pode adicionar ocontenteditable
nas células, linhas ou tabela.HTML5 suporta conteúdo editável,
Edição de terceiros
Para citar a entrada mdn em contenteditable
fonte
true
, é qualquer que seja o nome. Por exemplo<td contenteditable='contenteditable'></td>
,.Eu tenho três abordagens, aqui você pode usar ambos
<input>
ou<textarea>
conforme suas necessidades.1. Use Input in
<td>
.Usando o
<input>
elemento em todos os<td>
s,Além disso, você pode querer redimensionar a entrada para o tamanho dela
td
. ex.,Além disso, você pode alterar a cor da borda da caixa de entrada quando ela não estiver sendo editada.
2. Use o
contenteditable='true'
atributo. (HTML5)No entanto, se você deseja usar
contenteditable='true'
, também pode salvar os valores apropriados no banco de dados. Você pode conseguir isso com ajax.Você pode anexar keyhandlers
keyup
,keydown
,keypress
etc à<td>
. Além disso, é bom usar algum delay () com esses eventos quando o usuário digita continuamente, o evento ajax não disparará com cada pressionamento de tecla do usuário. por exemplo,3. Anexe
<input>
a<td>
quando for clicado.Adicione o elemento de entrada
td
ao<td>
clicar em, substitua seu valor de acordo com otd
valor de. Quando a entrada estiver borrada, altere o valor de `td's com o valor da entrada. Tudo isso com javascript.fonte
contenteditable=true
você pode me ajudar nisso, por favor?Este é um exemplo executável.
fonte
Você pode usar x-editable https://vitalets.github.io/x-editable/ sua incrível biblioteca de bootstrap
fonte
Experimente este código.
Você também pode visitar este link para obter mais detalhes:
fonte
Basta inserir o
<input>
elemento<td>
dinamicamente, ao clicar na célula. Apenas HTML e Javascript simples. Não há necessidade decontentEditable
,jquery
,HTML5
https://Jsfiddle.net/gsivanov/38tLqobw/2/
fonte
Estou usando isso para campo editável
fonte
Se você usa Jquery, este plugin ajuda você é simples, mas é bom
https://github.com/samuelsantosdev/TableEdit
fonte
Este é o ponto essencial, embora você não precise tornar o código tão confuso. Em vez disso, você pode apenas iterar por meio de todos os
<td>
e adicionar o<input>
com os atributos e, finalmente, inserir os valores.fonte
isso é realmente tão direto, este é meu HTML, amostra jQuery .. e funciona perfeitamente, eu construo todo o código usando uma amostra de dados json online. Felicidades
<< HTML >>
<< jQuery >>
fonte