Javascript 编辑表中的值<;td>&书信电报;输入></td>;
数据来自socket.io,它动态地显示在一个表中,我希望编辑该表的值并通过TCP发送回 我希望在单击表输入时,输入标记是可编辑的,然后通过套接字发送回TCPJavascript 编辑表中的值<;td>&书信电报;输入></td>;,javascript,html,jquery,node.js,websocket,Javascript,Html,Jquery,Node.js,Websocket,数据来自socket.io,它动态地显示在一个表中,我希望编辑该表的值并通过TCP发送回 我希望在单击表输入时,输入标记是可编辑的,然后通过套接字发送回TCP const net=require('net'); const client=new net.Socket(); client.connect(4000,'127.0.0.1',函数(){ log('连接到服务器…'); }); client.setEncoding('utf8'); client.on('data',函数(data){
const net=require('net');
const client=new net.Socket();
client.connect(4000,'127.0.0.1',函数(){
log('连接到服务器…');
});
client.setEncoding('utf8');
client.on('data',函数(data){
var strTable=“”;
对于(var i=0;i
1.
2.
3.
4.
5.
6.
7.
8.
我认为一切都很好,但也许您忘记了动态html的语法
请替换以下代码
strTable += "<input type=\"number\" class=\"form-control\" value=\""+logReceived(data)[i][j]+"\">"
strTable+=“”
如果有任何问题,请检查并告知我。您正在添加带有静态文本的表行和单元格,那么您无法控制它们
这是我尝试成功的示例代码
<!DOCTYPE html>
<html>
<head>
<script src="/media/js/jquery.min.js"></script>
<link rel="stylesheet" href="/media/css/bootstrap.min.css">
<script src="/media/js/bootstrap.min.js"></script>
<meta charset="utf-8" />
</head>
<body>
<input style="width: 100%" id="myresult"/>
<table class="table table-bordered table-striped">
<thead class="thead-dark">
<tr>
<th scope="col">1</th>
<th scope="col">2</th>
<th scope="col">3</th>
<th scope="col">4</th>
<th scope="col">5</th>
<th scope="col">6</th>
<th scope="col">7</th>
<th scope="col">8</th>
</tr>
</thead>
<tbody id="model_table"></tbody>
</table>
</body>
<script language="javascript">
$(document).ready(function(e) {
for (var i = 0; i < 10; i++) {
var strrow = $("<tr></tr>");
for (var j = 0; j < 8; j++) {
// console.log("in loop",logReceived(data)[i])
var strcol = $("<td></td>");
var myinput = $("<input type='number'></input>");
myinput.data("data-i", i);
myinput.data("data-j", j);
myinput.addClass('form-control').val(i + j);
myinput[0].onchange = function(ew){
var i1 = $(this).data('data-i');
var j1 = $(this).data('data-j');
var val = $(this).val();
$("#myresult").val(i1 + " , " + j1 + " , " + val);
};
strcol.append(myinput);
strrow.append(strcol);
}
$('#model_table').append(strrow);
}
});
</script>
</html>
1.
2.
3.
4.
5.
6.
7.
8.
$(文档).ready(函数(e){
对于(变量i=0;i<10;i++){
var strow=$(“”);
对于(var j=0;j<8;j++){
//console.log(“在循环中”,logReceived(数据)[i])
var strcol=$(“”);
var myinput=$(“”);
myinput.data(“data-i”,i);
myinput.data(“数据-j”,j);
myinput.addClass('form-control').val(i+j);
myinput[0]。onchange=函数(ew){
var i1=$(this.data('data-i');
var j1=$(this.data('data-j');
var val=$(this.val();
$(“#myresult”).val(i1+”、“+j1+”、“+val);
};
strcol.append(myinput);
strrow.append(strcol);
}
$('#model_table')。追加(strow);
}
});
数据显示在表格上,但仍不可编辑。我想包括编辑该数据并将其发送到socketinput的功能。由于某些原因,无法单击Put标记。我尝试了您的代码,表格中的所有输入都是可编辑的。请搜索其他原因,如浏览器问题或控制台错误。请查找输入无法单击的原因。它在我的自定义CSS中。当我注释掉它的工作时,我现在想要的是当我点击任何一个INTUT时,它的值在同一个索引中改变,并通过套接字发送它