2016-05-16 61 views
0

我有一个简单的搜索表单,包含两个输入。一个文本输入和一个选择输入。当另一个选项关注时,保持输入焦点?

文本输入为全宽,并且选择输入被绝对定位,因此它位于文本输入的右侧,并用作段过滤器。这里

search-form

例子我试图做的是保持被选择的选择元素时,文本输入聚焦。目前,您可以专注于文本输入,但是当您选择选择选项时,搜索/文本输入失去焦点,这意味着您不能仅仅击中搜索。

我假设这是可以解决的一个小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

啊,没有刷新看到评论,因为我写了我的答案。哎呀...好看的镜头!好球!好球! (对不起,由于某种原因,火箭联盟闪现)。 –

相关问题