通过JavaScript/jQuery使用参数来强调HTML输入的值会返回undefined
Accesing to the value of a HTML input using a parameter through JavaScript/jQuery returns undefined
我想动态更改HTML输入的值。代码是下一个:
for ( var i = 0; i < num_years; i++ ) {
$( '#Edit-ano' + i ).on( "input", function() {
var element = document.getElementById( 'Edit-ano' + i );
element.value = addCommas( $(this).val() );
});
}
但我收到了下一条消息:
Uncaught TypeError: Cannot set property 'value' of null
我也尝试过将"编辑-否"+I作为参数,并使用jQuery,如下所示:
for ( var i = 0; i < num_years; i++ ) {
$( '#Edit-ano' + i ).on( "input", function() {
var paramater = "Edit-ano" + i;
var element = document.getElementById( paramater );
element.value = addCommas( $(this).val() );
});
}
或者:
for ( var i = 0; i < num_years; i++ ) {
$( '#Edit-ano' + i ).on( "input", function() {
var paramater = "#Edit-ano" + i;
var element = $( paramater )[0]; //also using: var element = $( "#Edit-ano" + i )[0]
element.value = addCommas( $(this).val() );
});
}
在所有情况下,我都会收到相同的错误。
该代码正在"formCreated"事件内的jTable中使用。
令人惊讶的是,例如,如果我将参数直接作为"Edit-ano0"传递,它会完美地工作!但后来,我失去了动态行为:(
我的想法结束了,所以,我希望你的答案!
提前感谢!
试试这个。您只需要在DOM加载期间委托"input"或"keyup"事件,并用逗号附加值。
$(document).ready(function(){
var num_years = 4;
for ( var i = 0; i < num_years; i++ ) {
$( '#Edit-ano' + i ).on( "input", function() {
$(this).val($(this).val() + ',');
});
}
});
示例:https://jsfiddle.net/DinoMyte/r9pffj2s/1/
相关文章:
- Angularjs$编译输入html或元素
- 将输入 html 元素动态关联到颜色选取器
- 如何使用 JavaScript 显示 html 输入:.html(' < input type=“text” /
- 在输入 HTML 表单上从 Java 脚本传递参数
- 如何根据用户输入 HTML 更新多个 SPAN 元素
- 如何计算输入 HTML 元素的宽度,使其与其内容的大小相匹配
- 如何在输入 html 中编写一个 js var 值
- Javascript:如何获取所选复选框的所有值,推送到数组,然后放入输入HTML元素
- 如何使用Javascript自动输入html中行的序列号
- 特殊的点屏蔽输入 HTML-JavaScript
- 在select选项和input.text之间切换输入html
- 隐藏输入(html表单确认)-服务器端脚本?(php)
- 验证用户输入HTML子集
- 在KeyUp上输入HTML/JavaScript密码,用于浏览器自动填充
- 按钮内文本输入- HTML
- 在ie10,9中选择选项(html 5标签)在下一个输入(html 5标签)的位置
- 有麻烦输入html列表选项从xml文件
- 在非输入html标签上使用ng-keyup
- 在表数据中输入Html文本
- 中心文件输入- Html/Css