更改最接近的输入值?

时间:2014-08-27 21:03:26

标签: javascript jquery click find closest

我有一个实例,我的日期选择器无法通过按钮点击工作,所以我想找到最近的输入和.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 个答案:

答案 0 :(得分:2)

如果我理解正确,您在用户单击按钮时尝试将光标放入输入框。

为此,您应该使用.focus()代替.click()

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

答案 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();
});