2016-11-22 10 views
1

複数の入力ボックスが相互に接続された状態でjQueryオートコンプリートを使用しています。それに従ってフィルタリングされる)。次に、フォーカスと別の入力ボックスを使用して値を入力して、両方のフィルタを適用します(入力値と以前の入力ボックス値に従って)。入力ボックスにBeanがクリアされ、新しい入力が挿入されたときの理解

また、入力ボックスからすべての文字を削除すると、すべての入力ボックスを洗浄するためのIセットアップイベント:

if (inputBoxTrigger.val().length == 0 && (event.keyCode == BACKSPACE || event.keyCode == DELETE)) { 
     jQuery.each(inputObjectArray, function (i, obj) { 
      obj.val(""); 
     }); 
    } 

だから、私、私はちょうど現在の入力ボックスに最後の文字を削除し、クリーンアップのすべて。しかし、私は次のことを行うことができます。) 1マウスを介して、またはShiftキーを押し、入力ボックス(たとえばのコンテンツを選択) 2)、バックスペースを押すことなく、この入力ボックスに何かを入力して起動するか、この場合は、ボタンに

を削除入力ボックスがクリアされ、新しい文字が挿入されますが、私はこの状況を捉えません。 バックスペース/削除ボタンのkeyCodeにチェックを入れようとしましたが、機能しません。入力ボックスを離れるときに新しい入力ボックスが空になるので、すべてのもの(前の入力ボックスを含む)をクリーンアップします。

アイデア?

+0

はあなただけ使用されている入力ボックスに文字カウントの変化を検出することができない、そしてそれが低下した場合、それらをすべてクリアするケースがありますか? – Matthias

+0

あなたは、テキストの長さが1に落ちると、すべてをクリアできることを意味しますか?それは実行可能ではありません:私は何かのスペルを間違えたでしょう。家の代わりにホーメをして、ちょうど私の二番目のhを取り除くために戻ってきます。 "hh"から "h"に渡るとき、私はイベントをトリガーします。これは私が望むものではありません。私は、入力テキスト全体を新しい文字に置き換えるときにそれをするだけです。 – Manu

+0

"hhome"から "h"へ行くときにボックスが異なる挙動を示す理由がわかりません。 "whatsup"を "h"に変更します(hを選択して入力します)。しかし、それが本当に欲しいのであれば、文字が選択されているかどうかを検出し、すべての文字が選択されているかどうかを検出し、文字カウントが1になったかどうかを検出する必要があると思われます。バックスペースだったかどうか(バックスペースに "hhome"ケースがある場合、そうでなければ "whatsup"の場合があります) – Matthias

答えて

0

おそらく、文字列の類似性を検出するためのより複雑なアルゴリズムですか?

文字列が非常に似ている場合、単純な修正である可能性があります。そうでない場合、完全に異なる項目であり、フォームをリセットすることがあります。長さ/方向の比較を類似性比較と連鎖させて微調整することもできます(つまり、長い文字列から別の長い文字列に移動する場合にのみ類似性比較を行います)。文字列の類似性に

Compare Strings Javascript Return %of Likely

javascript text similarity Algorithm

http://andrew.hedges.name/experiments/levenshtein/

+0

これは良い解決策のようですしかし、2文字または1文字の文字列類似性は私には複雑すぎるようです。私は、ある種のイベントが傍受されることを期待しています... – Manu

関連する問題