将焦点设置为jQuery中的下一个输入?

前端之家收集整理的这篇文章主要介绍了将焦点设置为jQuery中的下一个输入?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前有一个脚本,它将检查选择框的值,然后启用它旁边的文本字段,然后希望设置焦点.

我现在有这个在启用输入字段时工作正常…

$("#assessed select").change(function () {

    if($(this).val() == 'null') { $(this).next('input').attr("disabled",true);  }
    else { $(this).next('input').removeAttr("disabled"); }

});

说实话,我有点卡在’焦点’位上,我试过“$(this).next(‘input’).focus();”但这根本没有集中,虽然它没有带来Javascript错误……

$("#assessed select").change(function () {

    if($(this).val() == 'null') { $(this).next('input').attr("disabled",true); $(this).next('input').focus(); }
    else { $(this).next('input').removeAttr("disabled"); }

});

伙计们好吗?我真的坚持这个,它是我正在建立的页面的一个非常简单但非常有用的补充!

谢谢

解决方法

用缓存的这个jq对象修改了上面的答案.此外,不需要下面的过滤器. next()只会返回下一个兄弟.过滤器基本上只是说它是下一个,如果它是一个输入或你给的任何过滤器.如果您确定下一个是所需的对象,则无需包含过滤器.
$("#assessed select").change(function () {
    var $this = $(this);
    if( $this.val() === 'null') {
        $this.next()
             .attr("disabled",true);
    }
    else {
        $this.next()
             .removeAttr("disabled")
             .focus();
    }
});

猜你在找的jQuery相关文章