Javascript 如何在输入字段中自动生成数字?
我正在创建一个具有自动编号ID列的表。我希望能够让我的输入文本字段自动生成ID号(当用户开始在名称输入字段中键入时)Javascript 如何在输入字段中自动生成数字?,javascript,jquery,html,Javascript,Jquery,Html,我正在创建一个具有自动编号ID列的表。我希望能够让我的输入文本字段自动生成ID号(当用户开始在名称输入字段中键入时) 如何在输入字段中自动生成数字?您可以使用下面的代码。它所做的是每次单击插入按钮时,它都会向项目的id添加一个数字(文本字段旁边的数字) 此代码用于修改所有元素,并使用变量num增加id值。将项目添加到列表中的部分是可选的-我只是添加了它以使其看起来更真实 var num=1; var input=document.getElementById('item'); var p=do
如何在输入字段中自动生成数字?您可以使用下面的代码。它所做的是每次单击
插入
按钮时,它都会向项目的id添加一个数字(文本字段旁边的数字)
此代码用于修改所有元素,并使用变量num
增加id值。将项目添加到列表中的部分是可选的-我只是添加了它以使其看起来更真实
var num=1;
var input=document.getElementById('item');
var p=document.getElementById('number');
var list=document.getElementById('list');
var button=document.getElementById('insert');
addEventListener('click',function(){
num++;
p、 innerHTML=num;
list.innerHTML+=“”+input.value+” ”;
});代码>
#项目{
显示:内联;
}
#数{
显示:内联;
右边距:10px;
}
1
插入
如果您有一个HTML表格,那么您可以响应所有编辑,收听输入
事件,并决定是否填写唯一的数字(或将其删除)
这里是一个可以调用的通用函数,它以应该具有此功能的table元素和应该获取这些ID值的列的数目作为参数
例如:
函数autoId(表,colNo){
表.addEventListener(“输入”,函数(e){
常数tr=e.目标最近(“tr”);
const idInput=tr.cells[colNo].querySelector(“输入”);
for(tr.querySelectorAll的常量输入(“输入”)){
hasData=input.value.trim()!=“”&&input!==INDIPUT;
如果(hasData)中断;
}
if(hasData&&idInput.value.trim()==“”){
idInput.value=(Math.max(…Array.from(
table.querySelectorAll(“td:n个子(“+(colNo+1)+”)输入”),
输入=>+input.value
).filter(v=>!isNaN(v)))| | 0)+1;
}如果(!hasData&&idInput.value.trim()!=“”),则为else{
id.value=“”;
}
});
}
const table=document.querySelector(“表”);
//调用传递表和ID为的列的函数——仅此而已
autoId(表,0);
//让我们使用第一个数据行作为模板,为用户提供添加行的可能性
document.querySelector(“#btnAddRow”).addEventListener(“单击”,()=>{
insertAdjacentHTML(“beforeend”,table.rows[1].innerHTML);
});代码>
IDName
添加行
您还可以使用像uuid.v4()npmjs.com/package/uuid这样的javascript库