项目中需要在前端实现:

  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. pytest-生成测试报告

    import pytest """ 使用pytest编写用例,必须遵守以下规则: (1)测试文件名必须以"test_"开头或者"_test& ...

  2. js-将传来的数据排序,让(全部)这个小按钮小圈圈,始终排列在最前面

    let arryDemo=[]; for(var i=0;i<data.data.length;i++){ if(data.data[i].name=='全部'){ arryDemo.push( ...

  3. Bugku 杂项 又一张图片,还单纯吗

    又一张图片,还单纯吗 下载后,用binwalk打开图片 使用foremost 2.png进行分离 得到图片 关于foremost foremost [-v|-V|-h|-T|-Q|-q|-a|-w-d ...

  4. 【Java】SpringBoot整合RabbitMQ

    介绍 RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,AMQP,即A ...

  5. Leetcode 12. Integer to Roman(打表,水)

    12. Integer to Roman Medium Roman numerals are represented by seven different symbols: I, V, X, L, C ...

  6. A Network in a Laptop: Rapid Prototyping for Software-Defined Networks

    文章名称:A Network in a Laptop: Rapid Prototyping for  Software-Defined Networks 文章来源:Lantz B , Heller B ...

  7. 电脑新安装JDK版本并运行使用该JDK版本问题

    情景:电脑上已正常安装一个jdk版本,如:1.7.0_71,因考虑到一些情况,现需要使用版本为1.7.0_80(1.8),故需新安装JDK,并使服务可以运行使用新安装的JDK版本. 网络找寻方法: ( ...

  8. 20180912-Java实例02

    Java 实例 – 删除字符串中的一个字符 以下实例中我们通过字符串函数 substring() 函数来删除字符串中的一个字符,我们将功能封装在 removeCharAt 函数中. // Main.j ...

  9. npm install 成功安装依赖后,运行跑不起来怎么办?

    最近接手公司的项目,由于代码历史悠久,据说已经最少经历过了6个人的手,查看gitee提交的年限,竟然是1-2年前的代码,好吧.这个锅总得有人接,既然是架构师,就要勇于面对挑战,今天把我解决的方法记录起 ...

  10. python条件判断之直接加数字

    if 后面跟的是条件表达式,条件表达式的结果为True或者False. (1)如果if后面的条件是数字,只要这个数字不是0,python都会把它当做True处理,见下面的例子: if 3: print ...