オープンソースの正しいツールを作成するために、このプラグインhttp://roy-jin.appspot.com/jsp/textareaCounter.jspをhttp://writer.knowconceptdesign.com/に現在使用しています。 Charの制限が0以下の場合、プラグインの文字列置換が返されないように設定されていることを除いて、すべて正常に動作しています。私がしたいことは、文字制限が0以下であれば、 "None"または "No Limit set"を返すことです。jquery動的要素の検索と置換
ここに制限を表示するためのプラグインコードです。
function formatDisplayInfo(){
var format = options.displayFormat;
//When maxCharacters <= 0, #max, #left cannot be substituted.
if(maxCharacters > 0){
format = format.replace('#left', numLeft);
}
return format;
私は私のメインページにこれを上書きしようとしています
$(document).ready(function(){
var count_options = {
'maxCharacterSize': 0, // Just some default value
'originalStyle': 'originalDisplayInfo',
'warningStyle': 'warningDisplayInfo',
'warningNumber': 40,
'displayFormat': '#input Characters | #left Characters Left | #words Words'
};
// Initialise the plugin on document ready
$('#textinput').textareaCount(count_options);
$('#max_char').keyup(function() {
var max_char = +$(this).val();
//if the input is not a valid number
if ((isNaN($('#max_char').val())) || ($('#max_char').val() == 0)){
max_char = -1;
var char_left = count_options.displayFormat;
char_left = char_left.replace('#left', 'No Limit');
count_options.displayFormat = char_left;
}
count_options.maxCharacterSize = max_char;
// Unbind the 3 events the plugin uses before initializing it
$('#textinput')
.next('.charleft').remove().end()
.unbind('keyup').unbind('mouseover').unbind('paste')
.textareaCount(count_options);
});
これは私が問題を解決するだろうと思ったブロックです:
if ((isNaN($('#max_char').val())) || ($('#max_char').val() == 0)){
max_char = -1;
var char_left = count_options.displayFormat;
char_left = char_left.replace('#left', 'No Limit');
count_options.displayFormat = char_left;
関係なく上書きされないようです私がやること。私は簡単な検索と交換でさえも効果があると思います。私はいくつかのプラグインの検索と置換を試みました。
助けがあれば助かります。ここで
はそれを参照してくださいワンタも誰のためのHTMLです:私は(私が持っていることはよく分からないのです)正しくあなたを理解してきたと仮定すると
<textarea cols="68" rows="21" name="textinput" id="textinput"></textarea><br/>
<input type="textbox" id="max_char" name="max_char" value="0" /> Max Characters <br/>
私は質問しなければなりません:この 'char_left = ''は何ですか? – polarblau
@polarblau私は知らない、私は本当にjavascriptに新しいです。私は値を設定する前にカウントをnullに "リセット"する必要があると思った。そうでない場合は、私はそれらの行を削除し、何が起こるか見るでしょう。 – BandonRandon
変数を 'リセット 'する必要はありません。新しい値を割り当てると(これは基本的には空の文字列を割り当てることによっても行われます)、古い値はオーバーライドされます。あなたはこれらの行を単に離しておくことができます。 – polarblau