laravel5.4を使用して検索機能を作成しています。
tagEditorとAutocompleteは下記の参考リンクのものを使用しています。
参考リンク:tagEditorの参考リンク、Autocompleteの参考リンク
目的:先日質問投稿させていただいたtagEditorとAutocompleteのサジェスト機能についての質問なのですが,
サジェストされたもの以外の場合その文字を削除したいというのが今回の目的です。
今の段階ですと、tagEditorとAutocompleteは上手く動いていますが、autocompleteのsourceに無いものもタグ化されてしまう状態です。
例えば:autocompleteにsource:['ActionScript'、'AppleScript'、'Asp']と入っていたとして、textに「a」と打ち、autocompleteで出てくるActionScript'、'AppleScript'、'Asp'を選ばないと、そのまま a がタグ化すると言う状態なのです。
私は今回autocompleteに無い値(完全一致)かautocompleteで出てくるものを選んでない場合はその入力された値をタグ化する前もしくは、タグ化してすぐに削除して、その値で検索できないようにしたいと考えています。
View-- {!! Form::text('aaa', old('aaa'), ['class' => 'test_text','id' => 'test']) !!} <script> $( function() { $('#test').tagEditor({ autocomplete: { delay: 0, position: { collision: 'flip' }, source: {!! $autocomplete !!} }, maxTags: 1, forceLowercase: false }); }); </script>
$autocompleteはDBにあるデータを参照しています。Controllerで下記の様に書きviewに渡しています。べた書きしていた['ActionScript'、'AppleScript'、'Asp']がDBに入っていてソレを取り出している感じです
Controller-- $autocomplete = JSON_ENCODE(DB::table('tester')->select('name')->distinct()->pluck('name')->toArray());
Jsで入力した際に条件と違ったものが入ればそれを削除するようなものはございますか?
もしくは、tagEditorかAutocompleteの設定で何かあるでしょうか(removeで試していますがなかなか上手く行きません)?
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/17 01:06