#前提・実現したいこと
現在SemanticUIのsearch機能を実装しようとしております。
このとき、結果の出力フォーマットと受け取るjson構造は同じだがデータ内容が異なるAPIが複数あって、
inputboxに応じてurlを変更したいと考えています。
しかしながらJavascriptがよく分からなくて、関数内でのinputobox = thisの受け取り方が分かりません。
inputboxの情報さえ受け取ればあとは
これができないと$('.ui.search')
の部分だけ$('#hoge')
に変わっているだけの同じ処理が
inputboxの数だけ増えてしまう事になってしまいます。。
ひとまずはurlだけ変わればよいですが、できれば柔軟な開発ができるよう
attributesを取得して、それによって処理を変えるところまで行きたいです。
方法についてご存知の方がおられたらぜひ教えてください。
#実現したいソースコード
searchのExample - Using API Settingsから抜粋のち変更
$('.ui.search') .search({ type : 'category', minCharacters : 3, apiSettings : { onResponse: function(githubResponse) { var response = { results : {} } ; // translate GitHub API response to work with search $.each(githubResponse.items, function(index, item) { var language = item.language || 'Unknown', maxResults = 8 ; if(index >= maxResults) { return false; } // create new language category if(response.results[language] === undefined) { response.results[language] = { name : language, results : [] }; } // add result to category response.results[language].results.push({ title : item.name, description : item.description, url : item.html_url }); }); return response; }, // ここから。へたくそなコードですが、雰囲気だけでも伝われば幸いです。。 var inputbox = this; var attributes = $(inputbox).attr('url'); url: attributes; // ここまで } }) ;
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/28 04:06