val - name attribute in jquery
entrada de destino por tipo y nombre(selector) (3)
Puede combinar selectores de atributos de esta manera:
$("[attr1=val][attr2=val]")...
para que un elemento tenga que satisfacer ambas condiciones. Por supuesto, puedes usar esto por más de dos. Además, no haga [type=checkbox]
. jQuery tiene un selector para eso, a saber :checkbox
para que el resultado final sea:
$("input:checkbox[name=ProductCode]")...
Sin embargo, los selectores de atributos son lentos, por lo que el enfoque recomendado es usar ID y selectores de clase cuando sea posible. Puede cambiar su marcado a:
<input type="checkbox" class="ProductCode" name="ProductCode"value="396P4">
<input type="checkbox" class="ProductCode" name="ProductCode"value="401P4">
<input type="checkbox" class="ProductCode" name="ProductCode"value="F460129">
permitiéndole usar el selector mucho más rápido de:
$("input.ProductCode")...
Necesito cambiar algunas entradas de casilla 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 el tipo de entrada = "casilla de verificación" y el nombre = "Código de producto" como el selector para poder orientarlas específicamente 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
});
Quieres un selector de atributos múltiples
$("input[type=''checkbox''][name=''ProductCode'']").each(function(){ ...
o
$("input:checkbox[name=''ProductCode'']").each(function(){ ...
Sería mejor utilizar una clase de CSS para identificar aquellos que desea seleccionar, sin embargo, muchos de los navegadores modernos implementan el método document.getElementsByClassName
que se usará para seleccionar elementos y será mucho más rápido que seleccionar el atributo de name
input[type=''checkbox'', name=''ProductCode'']
Esa es la forma de CSS y estoy casi seguro de que funcionará en jQuery.