Je dois changer certaines entrées de case à cocher en entrées masquées pour certaines entrées mais pas toutes sur une page.
<input type="checkbox" name="ProductCode"value="396P4">
<input type="checkbox" name="ProductCode"value="401P4">
<input type="checkbox" name="ProductCode"value="F460129">
Le code jquery ci-dessous sélectionne uniquement l'entrée par type, ce qui fait que toutes les cases à cocher sont remplacées par des entrées masquées. que je veux changer?
$("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
});
Vous pouvez combiner les sélecteurs d'attributs de cette façon:
de sorte qu'un élément doit satisfaire les deux conditions. Bien sûr, vous pouvez l'utiliser pendant plus de deux. Ne fais pas non plus
[type=checkbox]
. jQuery a un sélecteur pour cela, à savoir:checkbox
si le résultat final est:Les sélecteurs d'attributs sont cependant lents, donc l'approche recommandée consiste à utiliser des sélecteurs d'ID et de classe lorsque cela est possible. Vous pouvez modifier votre balisage en:
vous permettant d'utiliser le sélecteur beaucoup plus rapide de:
la source
C'est la méthode CSS et je suis presque sûr que cela fonctionnera dans jQuery.
la source