我希望使用多个文本框来计数字符。我搜索了这么多链接、和堆栈溢出答案。但我没有得到正确的答案。我已经审查了答案下面的链接,但这是有两种类型的最大计数两个文本框。但在我的例子中,我想使用最大字符160对所有文本框进行计数。它应该合并所有这些输入,并且每次它应该计算值多输入JQuery字符计数器。
我的代码在这里
$('#Loc').keyup(function () {
var len = $(this).val().length;
var $msg = $("#charNum");
if (len > 160) {
var output = $(this).val().substring(0, 160);
var msglength = 2;
//$(this).val(output);
$msg.html(len + "/" + msglength + " sms left");
} else {
$msg.html(160 - len + " characters left");
}
});
以上代码用于第一个文本框。
$('#Contn').keyup(function () {
var Vaclen = $('#Vac').val().length + $('#Loc').val().length;
var len = $(this).val().length;
var $msg = $("#charNum");
if (len > 160) {
var output = $(this).val().substring(0, 160);
var msglength = 2;
//$(this).val(output);
$msg.html(len + "/" + msglength + " sms left");
} else {
$msg.html(Vaclen - len + " characters left");
}
});
我附了截图。
如何组合所有文本框值以及如何显示?
发布于 2014-06-05 23:02:17
试试这个jQuery:
这里,您需要为输入文本编写两个事件。一个是焦点,除了焦点输入之外,您将计算总文本长度;另一个是重点输入的keyup事件,其中您必须获得所有输入的总文本长度。
$(document).ready(function () {
var count = 0; //
var focusCount = 0;
$('input[type=textbox]').focus(function(){
focusCount = $(this).val().length;
count = 0;
// get total text length
$('input[type=textbox]').each(function(){
count += $(this).val().length;
});
// remove text length of focused input from total count
count-=focusCount;
});
$('input[type=textbox]').keyup(function () {
focusCount = $(this).val().length;
$('#charNum').text(160 - (count+focusCount));
});
});
发布于 2014-06-05 23:06:51
您需要计算所有元素的长度(我添加了一个仅限于所有输入的类):
$('.limited').each(function() {
var curLen = $(this).val().length;
len += curLen;
});
要截断结果,您需要知道该特定元素可用的剩余长度。
参见此示例(最大长度减为10以进行测试):小提琴
https://stackoverflow.com/questions/24075504
复制