JavaScript/CSS-更新多个输入元素的值*和*大小
JavaScript/CSS - Update value *and* size of multiple input elements
我有一个包含html、javascript和css(无外部jquery)的数字基转换页面,我在其中键入一个输入字段,然后它实时更新多个其他输入字段,每个输入字段在不同的基中使用相应的值。这些多个值,大约有5打,都是不同的长度,所以我手动设置了它们的每个输入长度,大小为size="43"、size="50"等。是否也可以实时更新每个输入字段的大小,以匹配其动态更新的内容,使用javascript和css,但不使用jquery?如果有帮助的话,每个div也在自己的div中,如果需要的话,也可以在自己的span中。我已经尝试了至少六个我在网上找到的建议,但到目前为止没有一个有效,因为它们都取决于1)"onkey"或"blur"事件,除了我键入的1个输入字段之外,没有其他事件,所以这对其他几十个字段中的任何一个都不起作用,或者2)用特定的名称更新一个特定的输入字段,这也不适用,因为我有几十个,每个具有不同的输入id。一个简短而优雅的解决方案会更可取,但我愿意尝试任何东西。谢谢
使用setAttribute
命令更改元素的值。请参阅下面的示例。
HTML
<td><input type=text name=script_id id="id" onblur="myFunctionY(this)" placeholder="19506"></td>
<td><input type=text name=dep id="dep" placeholder="dependency"></td>
JS
<script type=text/javascript>
function myFunctionY(vari) {
console.log(vari.value);
document.query_form.dep.setAttribute("value",vari.value);
}
</script>
dep是输入元素的idquery_form是表单名称
本质上,调用一个函数onblur
,然后该函数将获得输入的输入值。使用表单名称的setAttribute函数可以更新输入字段的特定值。
自己用解决了这个问题
document.getElementById("foo").style.width = ((document.getElementById("foo").value.length + 1) * 6.5);
就与输入元素内容匹配的样式宽度而言,它非常接近,不是100%,但至少它是动态的,这正是我想要的。
相关文章:
- 根据元素和容器大小计算边距
- 根据元素高度和宽度的百分比变化增加或减少字体大小
- 拖动开始时更改可拖动元素的大小
- Android浏览器设置元素大小太小
- 如何根据客户端的屏幕大小使用javascript更改DOM元素
- 如何计算元素绝对位于其中的容器的大小
- 如何获得一个进度元素,它被设置为在窗口调整大小时调整大小
- 通过套接字发送画布元素,JS中的最大堆栈大小
- jQuery在使用css定位的元素上调整大小;无法在chrome中正确调整大小
- 哪些场景可能会使Chart.js's画布元素的大小
- 在调整大小和加载时移动 DOM 元素.仅适用于调整大小
- 拖动和调整 CSS 转换元素的大小
- jQuery 可调整大小:如何在调整大小拖动期间获取重叠元素
- 获取数组的元素,无论索引的大小如何
- 如何使用可调整大小的元素重叠其他元素
- jquery匹配以px为单位的样式字体大小的元素
- HTML5画布中的可拖动和可调整大小元素
- jQuery UI-动态设置可调整大小元素的minHeight
- 聚合物 IronRessizeableBehavior 当“可调整大小”元素被隐藏/取消隐藏时,不会触发 Iron 调整
- 带有可调整大小元素的 HTML 拖放仪表板