我正试图在表格中为“剩下的字符数”制作一个计数器:
<input type="text" id='username_input'>
<input type="text" id='password_input'>
是否可以创建一个参数将成为选择器一部分的函数? 所以你可以更好地理解我的问题,我会告诉你一个我做过的例子,但这不起作用。
我想做的事情似乎很明显。这意味着我必须标准化所有id。
我知道我可以在函数中创建一个maxChar参数,但是我遗漏了field+'_maxChar'
这样你就可以告诉我为什么它不可能了。
提前收了很多次
var username_maxChar=20,password_maxChar=30;
function countLeft(field,minCharacters){
$('#'+field+'_input').keyup(function(){
var input_length = $('#'+field+'_input').val().length;
var input_count = field+'_maxChar' - input_length;
$('#'+field+'_counter').text(input_count);
});
}
countLeft(username,6);
答案 0 :(得分:3)
由于您已在函数范围之外使用var
关键字定义了这些关键字,因此它们将成为window
对象的属性,并且可以使用[]
表示法进行访问:
var input_count = window[field + '_maxChar'] - input_length;
但是,您可以考虑使用maxlength
属性:
<input type="text" id='username_input' maxlength='20'>
<input type="text" id='password_input' maxlength='30'>
这些可通过.attr()
var input_count = $('#' + field + '_input').attr('maxlength') - input.length;