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 ...
随机推荐
- pytest-生成测试报告
import pytest """ 使用pytest编写用例,必须遵守以下规则: (1)测试文件名必须以"test_"开头或者"_test& ...
- js-将传来的数据排序,让(全部)这个小按钮小圈圈,始终排列在最前面
let arryDemo=[]; for(var i=0;i<data.data.length;i++){ if(data.data[i].name=='全部'){ arryDemo.push( ...
- Bugku 杂项 又一张图片,还单纯吗
又一张图片,还单纯吗 下载后,用binwalk打开图片 使用foremost 2.png进行分离 得到图片 关于foremost foremost [-v|-V|-h|-T|-Q|-q|-a|-w-d ...
- 【Java】SpringBoot整合RabbitMQ
介绍 RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,AMQP,即A ...
- Leetcode 12. Integer to Roman(打表,水)
12. Integer to Roman Medium Roman numerals are represented by seven different symbols: I, V, X, L, C ...
- 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 ...
- 电脑新安装JDK版本并运行使用该JDK版本问题
情景:电脑上已正常安装一个jdk版本,如:1.7.0_71,因考虑到一些情况,现需要使用版本为1.7.0_80(1.8),故需新安装JDK,并使服务可以运行使用新安装的JDK版本. 网络找寻方法: ( ...
- 20180912-Java实例02
Java 实例 – 删除字符串中的一个字符 以下实例中我们通过字符串函数 substring() 函数来删除字符串中的一个字符,我们将功能封装在 removeCharAt 函数中. // Main.j ...
- npm install 成功安装依赖后,运行跑不起来怎么办?
最近接手公司的项目,由于代码历史悠久,据说已经最少经历过了6个人的手,查看gitee提交的年限,竟然是1-2年前的代码,好吧.这个锅总得有人接,既然是架构师,就要勇于面对挑战,今天把我解决的方法记录起 ...
- python条件判断之直接加数字
if 后面跟的是条件表达式,条件表达式的结果为True或者False. (1)如果if后面的条件是数字,只要这个数字不是0,python都会把它当做True处理,见下面的例子: if 3: print ...