備忘録

jquery:autocompleteの改造

投稿日:2011年11月19日 更新日:

久々の更新です。個人的な備忘録なので、あしからず・・・(こうやったほうが、良いよ!!というご意見はどしどしください)

最近はjqueryを表示に重宝しています。
仕事柄、WEBシステムの管理画面を多く作るのですが、マスターデータを参照してIDを取得したいことが多々あります。
HTMLのselectを利用してコンボボックスを作ってもいいのですが、選択肢が大量にある場合探せないし、と言ってpopupウィンドウで選択させるのも・・・

そこで、jqueryのautocompleteを利用して、隠し項目にidをセットする方法が取れないか

すなわち、autocompleteで情報を取得して、入力フィールドには名称を隠し項目にIDをセットする方法を模索しました

結構簡単でしたが、忘れないようにメモしておきます。

まず、autocompleteを呼び出すときにオプションを追加しました。オプションの名称はなんでも良かったのですがここでは”idInput”としました。

呼び出し方は

$('#id').autocomplete('url', {
	onItemSelect : selectItem,
	onFindValue : findValue,
	formatItem : formatItem,
	idInput : "chirashi_place"
});

idInput : “chirashi_place”の部分を追加、でautocomplete..jsは以下の部分を修正しました。
function selectItem()の$input.val(v);の部分を

var idInput = options.idInput;
if(idInput!=""){
	listData = v.split(":");
	$('#'+idInput).val(listData[0]);
	$input.val(listData[1]);
}else{
	$input.val(v);
}

更に呼び出しているスクリプトからの戻り値を「”値”\n”値”\n”値”\n”値”\n”値”\n”値”\n”値”」だったものを「”id:値”\n”id:値”\n”id:値”\n”id:値”\n”id:値”\n”id:値”\n”id:値”」に変更して対応完了です。

細かい処理は割愛してあります。
再選択した際に、隠し項目のidをクリアするとか、これだけでは上手くいかないことも多いかと思いますが・・・

とりあえず

ad

ad

-備忘録
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スパム対策 * Time limit is exhausted. Please reload the CAPTCHA.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

備忘録:prettyPopinで開くポップアップが元のページより縦長の場合

久々の更新です、ご無沙汰しています。 とある案件で、ポップアップウィンドウを多用する物があったので 昔から使っているprettyPopinを使用して開発を行なっています。 開かれたポップアップが元のペ …

MAC OSX10.9 Mavericksをクリーンインストール・USBメモリ編

先日、Mac OSX10.9 MavericksをMBAにクリーンインストールを書きましたが、iMacもクリーンインストールすることにしました。折角なので、USBメモリをインストールメディアとして使用 …

no image

備忘録:jQueryのlive-clickがiPadで効かない

ちょっと忙しく、ブロクが更新できていませんが jQueryを利用してiPadでのウェブアプリケーションを開発中です。 そこで起こったちょっとした不具合 jQueryでlive:clickを使用した際に …

WordPressのダッシュボードでJetpackのアクセス解析グラフが表示されない

サッカーワールドカップの組み合わせ抽選会速報なんて書いちゃいました。注目キーワードにあやかって さてさて、数日前にWordpressのプラグインのJetpackのバージョンアップをしたら管理画面のダッ …

使い勝手の良いアクセス解析 Research Artisan Lite

備忘録です。 アクセス解析ソフトはいろいろありますが 最近のデフォルトは 「Google Analytics」 + 「Research Artisan Lite(非改造)」 ひとまず十分な感じ Res …