Necesito cambiar algunas entradas de casillas de verificación a entradas ocultas para algunas pero no todas las entradas en una página.
<input type="checkbox" name="ProductCode"value="396P4">
<input type="checkbox" name="ProductCode"value="401P4">
<input type="checkbox" name="ProductCode"value="F460129">
El código jquery a continuación solo selecciona la entrada por tipo, lo que hace que todas las casillas de verificación cambien a entradas ocultas. ¿Hay alguna manera de verificar tanto el tipo de entrada = "casilla de verificación" como el nombre = "Código de producto" como el selector, de modo que pueda apuntar específicamente a esos que quiero cambiar?
$("input[type='checkbox']").each(function(){
var name = $(this).attr('name'); // grab name of original
var value = $(this).attr('value'); // grab value of original
var html = '<input type="hidden" name="'+name+'" value="'+value+'" />';
$(this).after(html).remove(); // add new, then remove original input
});
Puede combinar selectores de atributos de esta manera:
para que un elemento tenga que satisfacer ambas condiciones. Por supuesto, puedes usar esto para más de dos. Además, no lo hagas
[type=checkbox]
. jQuery tiene un selector para eso, es decir,:checkbox
el resultado final es:Sin embargo, los selectores de atributos son lentos, por lo que el enfoque recomendado es utilizar selectores de ID y clase cuando sea posible. Puede cambiar su marcado a:
permitiéndole usar el selector mucho más rápido de:
fuente
Esa es la forma CSS y estoy casi seguro de que funcionará en jQuery.
fuente