2012-01-03 16 views
13

jquery auto completeプラグインを使用して自動完成を実装しようとしています。私はコンマ区切りの自動完成を達成することができません。jquery auto completeでコンマ区切り自動完成

私が間違っているところで私を助けてください。

私のjqueryのコード:

$(document).ready(function() { 
$.getJSON('/releases/new.json', function() {  
alert("inside getJson"); 
alert(data1); 
$('#release_tester_tokens').autocomplete({source:names,multiple: true}); 
}); 
}); 

おかげで、 ラムヤ。

+0

私はuが私達にあなたのコードの実際の例のリンクを与える場合、それは良いだろう機能で同じコードを与え、私のビューファイル – ramya

答えて

13

このwalk-throughが役立つかどうかを確認してください。それは、に、ユーザはカンマで区切られた複数の検索語を入力することができます次のコードが含まれています

$("#<%= txtMultipleName.ClientID %>").autocomplete({ 
    source: function (request, response) { 
     $.getJSON("AutoComplete.ashx", { 
      term: extractLast(request.term) 
     }, response); 
    }, 
    search: function() { 
     // custom minLength 
     var term = extractLast(this.value); 
     if (term.length < 1) { 
      return false; 
     } 
    }, 
    focus: function() { 
     // prevent value inserted on focus 
     return false; 
    }, 
    select: function (event, ui) { 
     var terms = split(this.value); 
     // remove the current input 
     terms.pop(); 
     // add the selected item 
     terms.push(ui.item.value); 
     // add placeholder to get the comma-and-space at the end 
     terms.push(""); 
     this.value = terms.join(", "); 
     return false; 
    } 
}); 
function split(val) { 
    return val.split(/,\s*/); 
} 
function extractLast(term) { 
    return split(term).pop(); 
} 

jQuery UI autocompleteページの情報の多くもあります。

+0

からそれを呼び出すことによって、これを達成:) –

+1

Md.SharifulIslamます。https:@ // jqueryui.com/autocomplete/#multiple – ComputerLocus

4

例では、定義されていない変数にアクセスしていて、getJSON呼び出しの結果は決してアクセスしません。 JSONでは、コンマ区切りのリストは実際には配列です([]内にある場合)。文字列の場合は、String splitを使用してソース配列を作成してください。

$(document).ready(function() { 
    $.getJSON('/releases/new.json', function(data) { 
     $('#release_tester_tokens').autocomplete({ 
      source: data.list, 
      multiple: true 
     }); 
    }); 
}); 
+0

こんにちはダフ、私に答えてくれてありがとう。ソースコードをビューコード経由で渡しています::javascript names =#{Release.user_names.to_json} – ramya

+0

あなたのビューにそのようなことはしないでください。すべてJSファイルに保存してください。 JavaScriptビューレンダラーを使用していますか? – Daff

+0

こんにちはダフ、私のコントローラで@@ user_names || = User.all.map(&:名) としてjavascriptビューレンダラーがあります。 respond_to do | format | format.html#new.html.erb format.xml {render:xml => @release} format.json {render:json => {:data => @@ user_names}} end それ以来、私のために働く私は後者の方法に行きました。 – ramya

関連する問題