Preciso alterar algumas entradas da caixa de seleção para entradas ocultas para algumas, mas nem todas as entradas em uma página.
<input type="checkbox" name="ProductCode"value="396P4">
<input type="checkbox" name="ProductCode"value="401P4">
<input type="checkbox" name="ProductCode"value="F460129">
O código de jquery abaixo seleciona apenas a entrada por tipo, o que faz com que todas as caixas de seleção sejam alteradas para entradas ocultas. Existe uma maneira de verificar os tipos de entrada = "caixa de seleção" e nome = "Código de Produto" como o seletor para que eu possa direcionar especificamente as que eu quero mudar?
$("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
});
Você pode combinar seletores de atributos desta maneira:
para que um elemento precise satisfazer ambas as condições. Claro que você pode usar isso por mais de dois. Além disso, não faça
[type=checkbox]
. O jQuery possui um seletor para isso, ou seja:checkbox
, o resultado final é:No entanto, os seletores de atributo são lentos; portanto, a abordagem recomendada é usar seletores de ID e classe sempre que possível. Você pode alterar sua marcação para:
permitindo que você use o seletor muito mais rápido de:
fonte
Essa é a maneira CSS e tenho quase certeza de que funcionará no jQuery.
fonte