这个Jquery选择器代码有什么问题?

马科斯(Marcos JC Kichel)

调用函数时,我想将表单中的第一个有效元素作为焦点,因此我编写了以下代码:

function focusFirst(id) {
    $("#" + id + " input:visible:enabled:not([readonly]), #" + id + "textarea:visible:enabled:not([readonly]), #" + id + " select:visible:enabled:not([readonly])").first().focus();
}

并这样称呼它:

oncomplete="focusFirst('formCadastro')"

我的表单名为:“ formCadastro”,无论如何它都行不通,但是当我更改为以下形式时:

function focusFirstFormCadastro() {
    $("#formCadastro input:visible:enabled:not([readonly]), #formCadastro textarea:visible:enabled:not([readonly]), #formCadastro select:visible:enabled:not([readonly])").first().focus();
}

有用。因此,这里的问题是如何在选择器中串联我的ID?

沃尔夫

为了提高可读性,您应该改用相关的横向/过滤方法:

function focusFirst(id) {
    $("#" + id).find('input, textarea').filter(':visible:enabled:not([readonly])').first().focus();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章