js—input框中输入数字,动态生成内容的方法
项目中需要在前端实现:
- 用户输入数字n,动态生成n个元素,删除n,自动清空n个元素(如图一);
- 用户输入数字n,失焦生成n个元素,再聚焦修改n,自动清空n个元素(如图二);
图一:

图二:

需求一实现方式:
<input type="number" placeholder="请输入图片数量" id="img_num" name="img_num" />张 <li id="img_upload"></li> <script>
$('#img_num').bind('input propertychange',function() {
$("#img_upload").empty();
var text = $('input[name="img_num"]').val();
//console.log(text);
for (let i =1;i<=text;++i){
$("<li id='preview_"+i+"'><b>*</b> <span>图片"
+i+
": </span><span ><input name='img[]' type='file' id='imgFile_"+i+
"' accept='image/*' /></span> </li>").appendTo($('#img_upload'));
}
});
</script>
需求二实现方式:
<input type="number" placeholder="请输入图片数量" id="img_num" name="img_num" />张
<li id="img_upload"></li>
<script> // 聚焦清空
$('#img_num').focus(function(){
$('#img_upload').empty();
}) // 失焦写入;动态生成input上传框 $('#img_num').blur(function() {
$("#img_upload").empty();
var text = $('input[name="img_num"]').val();
console.log(text);
for (let i =1;i<=text;++i){
$("<li id='preview_"+i+"'><b>*</b> <span>图片"
+i+
": </span><span ><input name='img[]' type='file' id='imgFile_"+i+
"' accept='image/*' /></span> </li>").appendTo($('#img_upload'));
}
});
</script>
针对关键点总结:
| 事件方法名 | 用法 | 释义 |
| bind |
el.bind(“oninput,propertychange”,function(){})①
|
绑定元素,监听元素 |
| focus |
el.blur(function(){})
|
input框聚焦时执行 |
| blur |
el.blur(function(){})
|
input框失焦时执行 |
备注:
①:bind中 oninput 和 propertychange,都是事件对象,是在值改变时立即触发;只是后者是用以替代oninput在IE9以下的不兼容性;另:onchange是在值改变后失去焦点才触发,并且可以用在非输入框中,如:select等
相关链接:https://www.cnblogs.com/LHYwin/p/6136256.html.bind('input propertychange'
propertychange
js—input框中输入数字,动态生成内容的方法的更多相关文章
- js控制 input框中输入数字时,累计求和
$('.cc input').bind('input propertychange', function(){ var total = 0; $("input").each(fun ...
- 编辑表格输入内容、根据input输入框输入数字动态生成表格行数、编辑表格内容提交传给后台数据处理
编辑表格输入内容.根据input输入框输入数字动态生成表格行数.编辑表格内容提交传给后台数据处理 记录自己学习做的东西,写的小demo,希望对大家也有帮助! 代码如下: <!DOCTYPE ht ...
- js 文本框只能输入数字和点
http://www.jb51.net/article/51102.htm 手机端 只能输入数字,能输小数点.且只能2位小数 oninput="this.value=this.value.r ...
- 使用正则限制input框只能输入数字/英文/中文等等
常用HTML正则表达式 1.只能输入数字和英文的: 复制代码代码如下: <input onkeyup="value=value.replace(/[/W]/g,'') " o ...
- javascript判断input框只能输入数字的方法
javascript 只允许输入数字有很多方法,总结如下 1,只允许输入数字和小数点. <input onKeypress="return (/[\d.]/.test(String.f ...
- js控制input框只能输入数字和一位小数点和小数点后面两位小数
<script language="JavaScript" type="text/javascript"> function clearNoNum( ...
- 六、input框中的数字(金额)只能输入正整数
<input type="text" placeholder="请输入整数" onkeyup="this.value=this.value.re ...
- js input框限制输入为数字并限制长度
<input type="number" name="price" id="priceVal" placeholder="请 ...
- Js限制Input框只能输入数字
<input type="text" onkeyup="value=value.replace(/[^\d]/g,'')" /> <input ...
随机推荐
- IIS部署复盘(杂记)
首先,230是网站服务器,231主要放到是数据库:所以在230(部署的服务器)上部署不需要部署IIS和Oracle数据库, 231呢?231是数据库服务器:百度一下数据库服务器是什么? 文档第五步: ...
- vue中的v-model原理,与组件自定义v-model
VUE中的v-model可以实现双向绑定,但是原理是什么呢?往下看看吧 根据官方文档的解释,v-model其实是一个语法糖,它会自动的在元素或者组件上面解析为 :value="" ...
- Spring配置:用context:property-placeholder替换PropertyPlaceholderConfigurer
1.有时候需要从properties文件中加载配置,以前的方式是这样的: <bean id="jdbcProperties" class="org.springfr ...
- CF543C Remembering Strings 状压dp
Code: #include <cstdio> #include <algorithm> #include <cstring> #define setIO(s) f ...
- SpringBoot项目属性配置-第二章
SpringBoot入门 1. 相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了 ...
- Window7 系统下重新建立一个新分区
为了方便使用,准备在原来分区上再分割出一个分区,步骤如下 首先右击计算机,选择管理打开计算机管理窗口,选择磁盘管理,当前窗口右侧会出现当前计算机所有已存在的分区列表. 选择要进行分区的磁盘,右击选择压 ...
- PhantomJs 与 Casperjs
利用PhantomJS做网页截图经济适用,但其API较少,做其他功能就比较吃力了. CasperJs是对phantomjs的一次封装.即phantomjs是原生的,而casperjs是封装在以phan ...
- fedora23帮定键盘系统操作快捷键
在All settings -> keyboard 主要是以super为主, 然后有 super+ shift+...虽然感觉用 ctrl+super+... 来组合更方便, 但是用 shift ...
- C#和.NET获取绝对路径
c#获取绝对路径:System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log.txt"); .net获取绝 ...
- 包管理器 - peer dependency 的安装
npm 和 yarn 安装依赖(包)时不会自动安装 peer dependence(虽然很旧的 npm 是会自动安装的,但几乎没人用那么旧的了),而是给出如下警告: $ npm install --s ...