Error de jQuery para campos con []

Todos sabemos que para enviar un array desde nuestros formularios nos basta con incluir al final del nombre del input los corchetes [].

logo-jqueryHoy trabajando con jQuery 1.5b1 (luego actualicé a la 1.6.4 y ocurre lo mismo) me he dado cuenta que en concreto la función find de jQuery no sabe tratar este tipo de nombre de campos, es la única función que he probado pero me imagino que con otras pase lo mismo.

El código es muy simple y lo que pretende es recorrer todos los campos de un formulario y asignarle el valor, si existe, proveniente de un XML, el código fuente es el siguiente:

$('#formulario :input').each(function(index) {
        var form = $(this);
        var name = form.attr('name');
        var type = form.attr('type');
        var found = $(xml).find(name);
        if (found.length > 0) {
            ...
        }
});

El campo input en concreto que da el error es el que muestro a continuación:

<input type="checkbox" value="1" checked name="dato[]" />

Para esta combinación de datos se produce el siguiente error:

Uncaught Syntax error, unrecognized expression: ]

Esto lo he probado con jQuery 1.5b1 y 1.6.4 ambos en Google Chrome 15.0.854 dev-m. Aún no he reportado el bug en los foros de jQuery.

Comentarios

Anónimo ha dicho que…
me pasa lo mismo, aun no hay solucion=?