入力フォームに以下のようなテキストボックスがあります。
PHP
1<div class="textbox"> 2 <?php 3 $text = Input::post('text', !empty($model->text) ? $model->text : null); 4 $attr = array('class'=>'form', 'list'=>'data_list', 'id'=>'text_box', 'required'=>'required'); 5 echo Form::input('text', $text, $attr); 6 ?> 7 <datalist id="data_list"> 8 <?php 9 for ($count = 0; $count < count($result); $count++) { //resultはテーブルのセレクト結果 10 echo "<option index=" .$result[$count]["id"]. " value=" .$result[$count]["name"]. ">"; 11 } 12 ?> 13 </datalist> 14</div>
ためしたこと
上記のデータリストから値を選択した時に、選択したリストのvalue
が挿入され(ているように見え)ますが、
テキストボックスのchangeイベントでは値を取得できませんでした。
jQuery
1$(document).ready(function() { 2 $("#text_box").change(function() { 3 var text_value = $("#text_box").val(); 4 console.log(text_value); 5 }); 6});
この場合でいうところの「テスト1」を取得したいと思っています。
何卒、お知恵をお借りしたく存じます…。
追記1:マウスクリックで初めて選択した場合に値が取得できませんでした。
(上下キーで選択後、2回目以降のマウスクリック時は取得できています。)
追記2:上下キーでの選択についても、初めの1回は値が取得できていません。
追記3:値が取得できるのはテキストボックスが選択外になったタイミングでした。
inputイベントのウォッチ反映後
・選択した値が変更(BSやキー入力で値が変更)された時には取得できました。
・上記追記1の通り、マウスクリックで選択した場合は値が取得できません。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/06 07:05
2018/08/06 07:08
2018/08/06 07:11
2018/08/06 07:19
2018/08/06 07:22
2018/08/06 07:26
2018/08/06 07:33
2018/08/06 07:38 編集
2018/08/06 07:39
2018/08/06 07:47