2016-05-16 1 views
0

私は2つの入力を含む簡単な検索フォームを持っています。テキスト入力と選択入力。別の選択肢がフォーカスされているときに入力を集中させますか?

テキスト入力は全角で、選択入力はテキスト入力の右側にあり、セクションフィルタとして機能するように絶対的に配置されています。私は何をしようとしているここ

search-form

select要素が選択されているときに入力が集中したテキストを維持することです。現時点では、テキスト入力に焦点を絞ることができますが、選択オプションを選択すると、検索/テキスト入力がフォーカスを失い、検索に戻ることができません。

私はこれが少しjQueryで解けると仮定しています。私は、入力をクリックしたときに入力をフォーカスしたままにしたり、フォーカスを再フォーカスしたりするいくつかの例を見つけましたが、選択が選択されているときだけフォーカスを維持したいと思っています。希望は意味をなさないでしょうか?

マークアップは、選択を中心に

<div id="search" class="global-search"> 

    <form class="global-search-form" method="post"> 

     <input type="search" placeholder="Search..."> 

     <div class="search-select"> 
      <span>in</span> 
      <select name="select-category"> 
       <option value="all-categories">Everything</option> 
       <option value="category1">Category 1</option> 
       <option value="category2">Category 2</option> 
      </select> 
     </div> 

    </form> 

</div> 
+0

これはあなたができる最も簡単なハックです:https://jsfiddle.net/DinoMyte/cuza0ugo/ – DinoMyte

+0

ありがとうございます。しかしこれでChromeで問題が発生しましたか?私は '$( 'select')を見つけました。focus(function(){ $( 'input')。focus(); }); – shorn

+0

その選択肢からオプションを選択することは避けられるので、選択肢に焦点を当てて問題が発生します。代わりにクリックまたは変更を使用してみてください。 – DinoMyte

答えて

0

あなたが本当に焦点ににテキスト入力を維持することはできません...そうのようなものですが、あなたは変化に再び集中することができます

$('[name=select-category]').on('change', function(){ 
    $("[type=search]").focus(); 
}); 

https://jsfiddle.net/obbthcfp/

+0

ありがとうございます。上記の私のコメントによると、select要素のフォーカスイベントもやっていることがわかりました。 – shorn

+0

私は自分の答えを書いたので、ああ、コメントを見るためにリフレッシュしなかった。おっと...いいショット!ナイスショット!ナイスショット! (申し訳ありませんが何らかの理由でロケットリーグに出ました)。 –

関連する問題