2014-08-27 98 views
0

我有一个实例,其中我的datepickers不会按按钮工作,所以我找到最接近的输入和.click()或.focus()(因为它是datepicker,因为相同的字段会受到影响)。为了演示,从按钮/图标点击 - 找到最接近的输入并聚焦/点击它。如果正确,边框将呈蓝色。 http://jsfiddle.net/81tvr0op/更改最接近的输入值?

HTML

<table> 
    <tr> 
     <th> 
      <div class="input-group date"> 
       <input type="text" /> 
       <span class="input-group-btn"> 
        <button class="btn default" type="button"> 
         <i class="fa fa-calendar"></i> 
         Icon 
        </button> 
       </span> 
      </div> 
     </th>  
    </tr> 
</table> 

jQuery的

...像

$(".date > span > button").on('click', function (e) { 
       e.preventDefault(); 
       $(this).closest("th").find("input:text").click(); 
      }); 

...对不对?

回答

2

如果我理解正确,当用户单击按钮时,您试图将光标置于输入框中。

要做到这一点,您应该使用.focus()而不是.click()

工作例如: http://jsfiddle.net/81tvr0op/1/

0

从你的jsfiddle,这样的事情应该工作。

$("button").on('click', function (e) { 
    e.preventDefault(); 
    $(this).parent().siblings(0).focus(); 
}); 

或者,给你输入自己的ID和做类似:

$("button").on('click', function (e) { 
    e.preventDefault(); 
    $("#dateInput").focus(); 
});