質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
ニフティクラウドmobile backend

ニフティクラウドmobile backend (mBaaS)はニフティが提供するBaasサービスです。プッシュ通知、データストア、ファイルストア、会員管理・認証機能などのバックエンド機能をクラウドから提供しています。 Andoird/iOS/JavaScript/Unityと各種SDKに対応しています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

解決済

1回答

1637閲覧

Monaca×NCMBでの検索機能実装の際に検索ワードに該当するデータだけを引っ張ってきたいのですがどう設定すれば良いのかわかりません

mnm1995

総合スコア2

ニフティクラウドmobile backend

ニフティクラウドmobile backend (mBaaS)はニフティが提供するBaasサービスです。プッシュ通知、データストア、ファイルストア、会員管理・認証機能などのバックエンド機能をクラウドから提供しています。 Andoird/iOS/JavaScript/Unityと各種SDKに対応しています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

0クリップ

投稿2020/07/29 06:38

編集2020/07/29 07:11

現在Monaca(OnsenUI)とニフクラ mobile backendで掲示板アプリ開発をしています。
(言語はJavaScriptです)

現在、データの登録・取得は問題なく行えているのですが、全データから検索boxに入力したデータだけを抽出して表示させることができません。

現在実装できていること

  • 全データから5件だけを引っ張ってきて表示する

実装したいこと

  • 検索窓に入力した文字が含まれるデータだけを引っ張ってきて表示させる(部分一致)

以上です。
伝わりづらい表現で申し訳ありませんがどなたか教えていただけないでしょうか。

js

1 page.querySelector('#searchBtn').onclick = function(){ 2 getSearch(); 3 }

js

1//検索機能 2 var getSearch = function(question){ 3 // プログレスダイアログ 4 var modal = document.querySelector('#main_modal'); 5 // 表示 6 modal.show(); 7 //検索画面に入力された文字をfetchしてくる 8 var question = new Question(); 9 var inputSearch = document.getElementById("inputSearch").value; 10 console.log("OK") 11 //var inputSearch = new InputSearch({userName: currentUser}); 12 13 Question 14 //.equalTo("title", inputSearch) 15 .limit(5) 16 .fetchAll() 17 .then(function(data2){ 18 //main.htmlに検索で取得したデータを表示させる(DOM操作) 19 var dom = '<ons-list-header>'+ data2.length +'件</ons-list-header>'; 20 for (var i=0; i<data2.length; i++) { 21 var question = data2[i]; 22 var id = question.get("objectId"); 23 var title = question.get("title"); 24 var user = question.get("userName") 25 var userName = user.userName; 26 var createDate = question.get("createDate"); 27 var dateString = makeDate(createDate); 28 29 dom = dom + '<ons-list-item id ="'+ id +'" modifier="longdivider" onclick="toDetailPage(this)" tappable><div class="center">' 30 + '<span class="list-item__title">' 31 + title 32 + '</span><span class="list-item__subtitle">' 33 + '投稿日: ' + dateString 34 + ' 投稿者: ' + userName 35 + '</span></div></ons-list-item>'; 36 37 document.getElementById("questionList").innerHTML = dom; 38 console.log("検索成功"+JSON.stringify(question)) 39 modal.hide(); 40 } 41 modal.hide(); 42 }) 43 .catch(function(error){ 44 console.log("検索失敗"+JSON.stringify(error)) 45 modal.hide(); 46 }) 47 }

html

1 <ons-search-input id="inputSearch" class="center" placeholder="Search"></ons-search-input> 2 <ons-button id="searchBtn" class="right" modifier="quiet">検索</ons-button>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

js

1//検索機能 2 var getSearch = function(question){ 3 // プログレスダイアログ 4 var modal = document.querySelector('#main_modal'); 5 // 表示 6 modal.show(); 7 //検索画面に入力された文字をfetchしてくる 8 var question = new Question(); 9 var inputSearch = document.getElementById("inputSearch").value; 10 //var inputSearch = new InputSearch({userName: currentUser}); 11 12 Question 13 .equalTo("title", inputSearch) 14 .fetchAll() 15 .then(function(data2){ 16 //main.htmlに検索で取得したデータを表示させる(DOM操作) 17 var dom = '<ons-list-header>'+ data2.length +'件</ons-list-header>'; 18 for (var i=0; i<data2.length; i++) { 19 var question = data2[i]; 20 var id = question.get("objectId"); 21 var title = question.get("title"); 22 var user = question.get("userName") 23 var userName = user.userName; 24 var createDate = question.get("createDate"); 25 var dateString = makeDate(createDate); 26 27 dom = dom + '<ons-list-item id ="'+ id +'" modifier="longdivider" onclick="toDetailPage(this)" tappable><div class="center">' 28 + '<span class="list-item__title">' 29 + title 30 + '</span><span class="list-item__subtitle">' 31 + '投稿日: ' + dateString 32 + ' 投稿者: ' + userName 33 + '</span></div></ons-list-item>'; 34 35 document.getElementById("questionList").innerHTML = dom; 36 modal.hide(); 37 } 38 modal.hide(); 39 }) 40 .catch(function(error){ 41 console.log("検索失敗"+JSON.stringify(error)) 42 modal.hide(); 43 }) 44 } 45

これで実装できました!

投稿2020/07/29 07:13

mnm1995

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問