项目中需要在前端实现:

  1. 用户输入数字n,动态生成n个元素,删除n,自动清空n个元素(如图一);
  2. 用户输入数字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框中输入数字,动态生成内容的方法的更多相关文章

  1. js控制 input框中输入数字时,累计求和

    $('.cc input').bind('input propertychange', function(){ var total = 0; $("input").each(fun ...

  2. 编辑表格输入内容、根据input输入框输入数字动态生成表格行数、编辑表格内容提交传给后台数据处理

    编辑表格输入内容.根据input输入框输入数字动态生成表格行数.编辑表格内容提交传给后台数据处理 记录自己学习做的东西,写的小demo,希望对大家也有帮助! 代码如下: <!DOCTYPE ht ...

  3. js 文本框只能输入数字和点

    http://www.jb51.net/article/51102.htm 手机端 只能输入数字,能输小数点.且只能2位小数 oninput="this.value=this.value.r ...

  4. 使用正则限制input框只能输入数字/英文/中文等等

    常用HTML正则表达式 1.只能输入数字和英文的: 复制代码代码如下: <input onkeyup="value=value.replace(/[/W]/g,'') " o ...

  5. javascript判断input框只能输入数字的方法

    javascript 只允许输入数字有很多方法,总结如下 1,只允许输入数字和小数点. <input onKeypress="return (/[\d.]/.test(String.f ...

  6. js控制input框只能输入数字和一位小数点和小数点后面两位小数

    <script language="JavaScript" type="text/javascript"> function clearNoNum( ...

  7. 六、input框中的数字(金额)只能输入正整数

    <input type="text" placeholder="请输入整数" onkeyup="this.value=this.value.re ...

  8. js input框限制输入为数字并限制长度

    <input type="number" name="price" id="priceVal" placeholder="请 ...

  9. Js限制Input框只能输入数字

    <input type="text" onkeyup="value=value.replace(/[^\d]/g,'')" /> <input ...

随机推荐

  1. 如何解决DEDE织梦友情链接字数限制与链接个数限制的问题?

    如何解决DEDE织梦友情链接字数限制与链接个数限制的问题!织梦网站非常适合网站搭建以及网站优化,而友情链接是做优化必不可少的模块,我们经常搭建织梦网站发现织梦系统的友情链接模板有时候会限制字数不显示以 ...

  2. Java冠军程序员告诉你如何提升技术

    让我们跟着兄弟连JavaEE培训 导师,聊一聊——怎样成为冠军程序员 ? 我认为以下几点能力是非常有帮助的: 1.强大的记忆力.当 我上八年级的时候,全因那位死气沉沉的历史老师,让我自己都相信我的记忆 ...

  3. nginx之Geoip读取地域信息模块

    1 geoip_module模块 基于IP地址匹配MaxMind GeolP二进制文件,读取IP所在地域信息. yum install nginx-module-geoip geoip2已经有了,安装 ...

  4. 几种Android混淆和逆向工具介绍

    针对Android面临的安全风险,一些防止逆向的方法应运而生.代码混淆在X86架构上曾经被广泛研究,他被用于保护软件的只是产权,但是恶意软件也常常使用他来对抗杀毒软件或者对抗逆向分析者,代码混淆可以给 ...

  5. elementUI分页组件封装

    在实际开发需求,产品需要的分页组件比较简单,只可以一页页地翻,就是为了防止用于直接翻看最后的数据(因为有一些历史数据数据量比较大,查看的意义不大,检索效率比较低也比较忙,因为不希望用户在翻页的时候可以 ...

  6. 二十四、python中sys模块

    '''1.sys.argv:命令行参数List,第一个元素是程序本身路径''' import sys print (sys.argv)-------------------------------[' ...

  7. fedora23安装firefox中的flash插件-最终解决问题是: 要给libflashplayer.so以777权限, 开始给的755权限没有实现!

    下载的flash插件是一个rpm包. ===================================== rpm查看文件属于哪个包? 要看这个rpm包安装过还是没有安装过? (如果不用-p就是 ...

  8. AtomicStampedReference 源码分析

    AtomicStampedReference AtomicStampedReference 能解决什么问题?什么时候使用 AtomicStampedReference? 1)AtomicStamped ...

  9. java操作solr

    <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</a ...

  10. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_03 过滤器_2_FileNameFilter过滤器的使用和Lambda表达式

    复制一份上一节的代码 匿名内部类的形式 FilenameFilter 只有一个Accept方法.这样我们就可以使用lambda表达式 lambda表达式的前提条件 参数类型和,返回的大括号 都可以省掉 ...