<script> $(function(){ $('#input').autocomplete({ source:"/autocomplete/" + $('#id').attr('value') }); }); </script> <select id="id"> <option value="A">A</option> <option value="B">B</option> </select> <input id="input" type="text">
id
のセレクトボックスでoption
を選択した後に、フォーム入力する際にoption
で選択されたvalue
をautocompleteに渡したいのですが、うまく渡すことができません。
$('#id')
はselect
要素を指定しているのですが、autocomplete実行時にはコンソールで確認するとjqueryのオブジェクトに置き換わっており、そのために('#id').attr('value')
は未定義となってしまいます。
何か良い方法はありますか?
上記はURLに情報を付加して渡そうと考えた例です。
ご回答、ご指摘ありがとうございます。
autocompleteのsource
部分にfunction
を利用することは考えたのですが、サーバ側でどのようにリクエストを受け取るかのサンプルが少なく断念しました。
サーバサイドはPythonのBottle
を使用しております。
@route('/autocomplete/<value>', method=['GET']) def autocomplete(value): list = [] if value == 'A': list.append('AAA') elif value == 'B': list.append('BBB') list_json = json.dumps(list) r = HTTPResponse(status=200, body=list_json) r.set_header('Content-Type', 'application/json') return r
サーバでは上記のように候補のレスポンスを返したいと考えておりました。
回答1件
あなたの回答
tips
プレビュー