Pregunta

( agregados en otra pregunta )

El siguiente código de jQuery 1.3.2 funciona:

<input type="select" value="236434" id="ixd" name='ixd' />

<script>
console.log( $('#ixd') );
console.log( $("input[name='ixd']") );
</script>

consola muestra:

  

[entrada # IXD 236434]

     

[entrada # IXD 236434]

Sin embargo el establecimiento de la entrada a "oculta" evita que los selectores de trabajo. ¿Alguna pista?

<input type="hidden" value="236434" id="ixd" name='ixd' />

<script>
console.log( $('#ixd') );
console.log( $("input[name='ixd']") );
</script>

consola muestra:

  

[]

     

[]

¿Fue útil?

Solución

No sé por qué que no cumpliría. Yo hago lo mismo en el trabajo sobre una base regular, y funciona independientemente de la formfield se oculta o no.

Tal vez intente lo siguiente:

<input type="hidden" value="236434" id="ixd" name='ixd' />

<script>
    console.log($("#xid").val())
</script>

que les permite conocer el valor del campo oculto. Para obtener el valor de un campo de formulario, el método .val() necesita ser utilizado.

Otros consejos

<input type="select" value="236434" id="ixd" name='ixd' />

¿Es que incluso marcado válido?

Parece que la selección de una entrada visible recupera el valor de la misma, incluso sin llamar explícitamente .val(), mientras que la selección de uno oculto no:

Probar:

console.log( $('#ixd').val() );
console.log( $("input[name='ixd'][type='hidden']") );

y

console.log( $("input[name='ixd']").val() );

Esto puede ser más de un problema con la consola. Corrí una prueba y parece que todavía agarrar la instancia del elemento. No puedo decir exactamente lo que está tratando de hacer aquí.

Si usted está tratando de validar wether el objeto fue encontrado comprobar la propiedad de longitud

console.log( $('#xid').length );

Si usted está tratando de obtener el valor del campo a continuación, utilizar el método val

console.log( $('#xid').val() );

Por último, es posible que en la solución del DOM no se ha cargado completamente todavía. Asegúrese de que está envolviendo su lógica dentro de una llamada document.ready.

$(document).ready(function() {
    console.log( $('#xid').val() );
});

Si usted está haciendo esto en ASP.Net, comprobar el ID de su control en tiempo de ejecución a través de la opción Ver código fuente en su navegador. Usted puede encontrar que su ID de control no es lo que se espera que sea si, por ejemplo, su control se declaró en una página de contenido. En este caso sería asignado un ID que es impulsado por su página maestra. En lugar de la codificación dura de la identificación en su jQuery puede hacer referencia a su propiedad ClientID utilizando ASP.Net sintaxis de línea que también le protegerá de cualquier cambio en el maestro o el contenido de la jerarquía de control de la página.

Así que ...

$('#<%= myHiddenControl.ClientID %>').val();

... sería una mejor opción que ...

$('#ctl00_ContentPlaceHolder1_ctl00_ContentPlaceHolder1_myHiddenControl').val();

... aunque lo harían tanto trabajo.

Yo tenía un problema donde no hacer $('#field_id').val() no devuelve ningún valor, porque los campos ocultos fueron anidados (body > div > form > ul > li > p). Desplazarla de su ul resuelto el problema.

Si ninguno de los trabajos sobre intente

$('#xid').attr('value');
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top