动态生成input输入框

最近写项目需要实现一个动态生成input功能。原本以为很简单,只需要在前端js中写一个方法,拼接一个字符串通过innerHTML添加至html。

代码如下:

for(var i=0;i<3;i++){
             j=i+1;
             var name="制件"+j;
             var value="value"+i;
             var str=name+":<input type='text' name='"+value+"' value='' class='form-control'>"
             a=a+str;
             
         }

document.getElementById("id").innerHTML=a;

后来提出新的要求,需要动态添加若干个input。将innerHTML换成insertAdjacentHTML。

 

for(var i=0;i<3;i++){
             j=i+1;
             var name="制件"+j;
             var value="value"+i;
             var str=name+":<input type='text' name='"+value+"' value='' class='form-control'>"
             a=a+str;
             
         }

document.getElementById("work").insertAdjacentHTML('beforeBegin',a);

使用innerHTML后,持续添加时会将上次添加的内容替换掉。

insertAdjacentHTML可以在上次的内容基础上持续添加。

insertAdjacentHTML有四个特性:

1.     beforeBegin: 插入到标签开始前

2.     afterBegin:插入到标签开始标记之后

3.     beforeEnd:插入到标签结束标记前

4.     afterEnd:插入到标签结束标记后

转载于:https://my.oschina.net/u/3288494/blog/1625490

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
动态添加input输入框可以使用v-for指令来实现。在模板中,我们可以使用v-for指令遍历一个数组,并根据数组的长度动态生成多个input输入框。在每个input输入框中,我们可以使用v-model指令来实现双向数据绑定,将输入框的值与数组中的对应项进行关联。当需要添加新的input输入框时,我们可以通过点击按钮触发一个方法,在该方法中向数组中添加一个新的对象,对象中可以包含id和label属性用于存储输入框的值。下面是一个示例代码: ```html <template> <div> <div v-for="item in table" :key="item.id"> <input v-model="item.label"> </div> <button @click="addInput">添加</button> <button @click="search">查看</button> </div> </template> <script> export default { data() { return { table: [ { id: '12121', label: '' } ] } }, methods: { // 动态添加 addInput() { this.table.push({ id: Date.now(), label: '' }) }, // 查看 search() { console.log(this.table) }, } } </script> ``` 在上述示例中,我们使用v-for指令遍历table数组,并根据数组的长度动态生成多个div和input元素。每个input元素通过v-model指令与table数组中的对应项进行双向数据绑定。当点击添加按钮时,会调用addInput方法,向table数组中添加一个新的对象。当点击查看按钮时,会打印出table数组的内容。这样就实现了动态添加input输入框的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vue+Element一步步实现动态添加Input_输入框](https://blog.csdn.net/weixin_45785873/article/details/121220370)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值