使用 .on() 高效镜像值
efficient mirroring of values with .on()
我有两个表。我想将值从一个表镜像到另一个表。我目前的实现是这样的:
<script type="text/javascript">
$("#textfield1, #textfield2, #textfield3, #select1").on("keyup keypress blur click change", function(event){
$("input[type='text']#copytextfield1").val( $("[type='text']#textfield1").val() );
$("input[type='text']#copytextfield2").val( $("[type='text']#textfield2").val() );
$("input[type='text']#copytextfield3").val( $("[type='text']#textfield3").val() );
$("input[type='text']#copytextfield4").val( $("select#select1").val() );
});
</script>
如您所见,名称非常相似。 唯一的区别是镜像元素具有"副本"。 您能建议一下提高效率的方法吗? 也许利用命名对流?
可以这样做:
<script type="text/javascript">
$("#textfield1, #textfield2, #textfield3, #select1").on("keyup keypress blur click change", function(event){
for (var i = 1; i <= 3; i++) {
$("#copytextfield" + i).val( $("#textfield" + i).val() );
}
$("input[type='text']#copytextfield4").val( $("select#select1").val() );
});
</script>
但是,选择的 ID 会导致一些麻烦,因此如果您将所有字段的 id 更改为类似 input1 - input4 的内容,则可以对其进行更多重构。
<script type="text/javascript">
$("#input1, #input2, #input3, #input1").on("keyup keypress blur click change", function(event){
for (var i = 1; i <= 4; i++) {
$("#copytextfield" + i).val( $("#input" + i).val() );
}
});
</script>
请尝试以下操作: 也为您制作了一个演示: http://jsfiddle.net/6hwLS/4/
想法是从末尾取出数值并将它们与$(this)
对象一起使用:
此外,您不需要input[type='text']
或select
因为id
是唯一的并且唯一地标识 DOM 元素。
希望这有帮助,:)
喜欢这个:
$("#textfield1, #textfield2, #textfield3, #select1")
.on("keyup keypress blur click change", function(event) {
var theNum = parseInt($(this).attr("id").match(/'d+$/)); // will return last numeric value
$("#copytextfield"+theNum).val($("#textfield"+theNum).val());
if( theNum === 4) {
$("#copytextfield"+theNum).val($("#select1").val());
}
});
相关文章:
- IE中的CSS翻转动画:翻转的一面显示镜像内容
- Markdown模式代码镜像正在创建
- 更改代码镜像中TextArea的高度和宽度
- IE中的CSS翻转动画:翻转的一面显示镜像内容
- 什么CSS/JS技巧驱动镜像反转http://com.google愚人节页面
- jquery使2组单选按钮相互镜像
- Nodejs使用httpdispatcher提供静态镜像
- HTML5相机缓冲和延迟(延迟镜像)
- jQuery插件在本地主机上运行良好,但在web服务器上却与bg镜像混淆
- 镜像滚动效果打开.在两个容器之间单击
- 代码镜像批量更改
- 如何在代码镜像编辑器中设置隐藏值
- Selenium-使用换行符将文件写入代码镜像
- 默认情况下在代码镜像中启动全屏
- 如何在代码镜像编辑器中设置不同的维度
- 将变量中的文本放入代码镜像文本区域
- 多种模式代码镜像
- 如何在 Angular2 组件中访问代码镜像文本区域值
- 使用 .on() 高效镜像值
- 内存高效的js镜像管理