我有大約8個文本輸入。它們最終都與PHP連接在一起,但爲了方便用戶使用,我將其分解爲多個「問題」。用於多輸入的jQuery字符計數器
這些字段最終被連接起來並用於有160個字符切斷的SMS環境中。我需要用jQuery計算所有8個輸入,以顯示用戶是否超過160個字符。
我可以很容易地做到這一點與任何數量的字符計數插件那裏,但他們都考慮到一個單一的textarea,沒有分解成多個輸入。
我開始建立這個使用
var current_count = parseInt($('#chars-remain span').text());
var regex=/^[a-zA-Z0-9\s]+$/;
if(regex.test($(this).val())){
var current_left = current_count - 1;
}
if (current_left <= 0) {
$('#chars-remain span').addClass('outOfChars');
} else {
$('#chars-remain span').removeClass('outOfChars');
}
$('#chars-remain span').text(current_left);
和HTML類似
<p id="chars-remain"><span>160</span> Characters Remain</p>
但它並沒有真正發揮作用。如果你使用Delete鍵,它仍然算作總數的-1,還有一些其他的錯誤。 有沒有辦法使用上面的代碼,並使其工作或有一個插件,這樣做,我找不到或者有人有更好的想法嘗試?
謝謝!
/// *編輯** \ *
我目前的jQuery是設置這樣的:
$('#form-edit-card input').live('blur keyup',function(e) {
$('#howto').hide();
$('#in-firstName').text($('#first_name').val()).show();
$('#in-lastName').text($('#last_name').val()).show();
$('#in-titlePosition').text($('#job_title').val()).show();
$('#in-company').text($('#company_name').val()).show();
if($('#phone_number').val() != "") { $('#in-officePhone').text("o: "+$('#phone_number').val()).show(); }
if($('#mobile_number').val() != "") { $('#in-mobilePhone').text("m: "+$('#mobile_number').val()).show(); }
$('#in-emailAddress').text($('#email').val()).show();
$('#in-website').text($('#website').val()).show();
});
這讓我,讓在領域的用戶類型,它顯示了一個例如,短信在框中的外觀如何。因此,如果我嘗試使用K4emic的答案,那麼它在很大程度上可以發揮作用,但是在Office Phone和Mobile Phone上它會自動添加'o:'和'm:',因此我需要採集這三個額外字符的方法以及。 也許在輸入寫入它們之後計算段落的字符會更有意義,這樣自動添加的字符也會被計算在內?
爲什麼不從分配的字符中減去2x3個字符? – K4emic 2010-11-23 20:03:06
我會的,但如果他們不填寫這些字段,因爲他們不是必需的,那麼它會減去不一定必須刪除的字符。 – LostInQuery 2010-11-23 20:52:43