怠け者の活用JQuery.AutocompleteはSelectトリガイベントと結果のカスタマイズを実現
2777 ワード
仕事ではJQueryのAutocompleteプラグインを使っていますが、非常に一般的な使用の問題に遭遇しました.
一つは、ドロップダウンメニューの表示とテキストボックスに記入した結果要求される文字列が異なることです.つまり、ユーザー名、所属部門が表示されますが、テキストボックスに記入されているのはユーザー名と電話番号です.
2つ目は,ユーザSelect後にイベントをトリガーし,ユーザIDを別の非表示テキストボックスに渡す必要がある.
まず怠け者なので、ネット上でgoogleで技術案を見てみると、複雑なことに気づきました.サボりたいという目的でAutocompleteのオンラインDOCを検討したところ、簡単な解決策が発見されました
まずAutocompleteのformatItemとformatResult関数を適用します
データセットを返します.怠け者は怠け者で、文字列にカンマで区切られて、1行1つの結果を表します.
"NAME1,DEPARTMENT1,TEL1,ID1/r/n NAME2, DEPARTMENT2,TEL2,ID2"
formatItem:ドロップダウン・メニュー・データ表示のカスタマイズ.ここにはユーザー名と部門のみが表示されます.
formatResult:テキストボックスに入力した結果、ここにユーザー名と電話番号formatItem:function(data,i,n){
これで怠け者のAutocompleteアプリが完成しました
仕事ではJQueryのAutocompleteプラグインを使っていますが、非常に一般的な使用の問題に遭遇しました.
一つは、ドロップダウンメニューの表示とテキストボックスに記入した結果要求される文字列が異なることです.つまり、ユーザー名、所属部門が表示されますが、テキストボックスに記入されているのはユーザー名と電話番号です.
2つ目は,ユーザSelect後にイベントをトリガーし,ユーザIDを別の非表示テキストボックスに渡す必要がある.
まず怠け者なので、ネット上でgoogleで技術案を見てみると、複雑なことに気づきました.サボりたいという目的でAutocompleteのオンラインDOCを検討したところ、簡単な解決策が発見されました
まずAutocompleteのformatItemとformatResult関数を適用します
データセットを返します.怠け者は怠け者で、文字列にカンマで区切られて、1行1つの結果を表します.
"NAME1,DEPARTMENT1,TEL1,ID1/r/n NAME2, DEPARTMENT2,TEL2,ID2"
formatItem:ドロップダウン・メニュー・データ表示のカスタマイズ.ここにはユーザー名と部門のみが表示されます.
formatResult:テキストボックスに入力した結果、ここにユーザー名と電話番号formatItem:function(data,i,n){
これで怠け者のAutocompleteアプリが完成しました
一つは、ドロップダウンメニューの表示とテキストボックスに記入した結果要求される文字列が異なることです.つまり、ユーザー名、所属部門が表示されますが、テキストボックスに記入されているのはユーザー名と電話番号です.
2つ目は,ユーザSelect後にイベントをトリガーし,ユーザIDを別の非表示テキストボックスに渡す必要がある.
まず怠け者なので、ネット上でgoogleで技術案を見てみると、複雑なことに気づきました.サボりたいという目的でAutocompleteのオンラインDOCを検討したところ、簡単な解決策が発見されました
まずAutocompleteのformatItemとformatResult関数を適用します
データセットを返します.怠け者は怠け者で、文字列にカンマで区切られて、1行1つの結果を表します.
"NAME1,DEPARTMENT1,TEL1,ID1/r/n NAME2, DEPARTMENT2,TEL2,ID2"
formatItem:ドロップダウン・メニュー・データ表示のカスタマイズ.ここにはユーザー名と部門のみが表示されます.
formatItem: function(data, i, n) {
var array = data.toString().split(',') ;
return array[0] + '/' + array[1] ;
}
formatResult:テキストボックスに入力した結果、ここにユーザー名と電話番号formatItem:function(data,i,n){
var array = data.toString().split(',');
return array[0] + ', ' + array[2];
}
, ID , Autocomplete .result(),
split
$('inputfield').autocomplete(url, {options}).result (function(event, data, formatted) {
var array = data.toString().split(',');
$("hiddenfield").val(array[3]);
});
これで怠け者のAutocompleteアプリが完成しました
仕事ではJQueryのAutocompleteプラグインを使っていますが、非常に一般的な使用の問題に遭遇しました.
一つは、ドロップダウンメニューの表示とテキストボックスに記入した結果要求される文字列が異なることです.つまり、ユーザー名、所属部門が表示されますが、テキストボックスに記入されているのはユーザー名と電話番号です.
2つ目は,ユーザSelect後にイベントをトリガーし,ユーザIDを別の非表示テキストボックスに渡す必要がある.
まず怠け者なので、ネット上でgoogleで技術案を見てみると、複雑なことに気づきました.サボりたいという目的でAutocompleteのオンラインDOCを検討したところ、簡単な解決策が発見されました
まずAutocompleteのformatItemとformatResult関数を適用します
データセットを返します.怠け者は怠け者で、文字列にカンマで区切られて、1行1つの結果を表します.
"NAME1,DEPARTMENT1,TEL1,ID1/r/n NAME2, DEPARTMENT2,TEL2,ID2"
formatItem:ドロップダウン・メニュー・データ表示のカスタマイズ.ここにはユーザー名と部門のみが表示されます.
formatItem: function(data, i, n) {
var array = data.toString().split(',') ;
return array[0] + '/' + array[1] ;
}
formatResult:テキストボックスに入力した結果、ここにユーザー名と電話番号formatItem:function(data,i,n){
var array = data.toString().split(',');
return array[0] + ', ' + array[2];
}
, ID , Autocomplete .result(),
split
$('inputfield').autocomplete(url, {options}).result (function(event, data, formatted) {
var array = data.toString().split(',');
$("hiddenfield").val(array[3]);
});
これで怠け者のAutocompleteアプリが完成しました