web-dev-qa-db-fra.com

Obtenir une case à cocher avec une valeur spécifique

Je veux obtenir une case à cocher avec une valeur spécifique et le faire coché .. 

Je fais comme ça 

$(":checkbox").filter({"value":5}).attr("checked","true");​

et voici le html 

​<input type="checkbox" name="priv"​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ value="1"​​​​​​​​​​​​​​​​​/>
<input type="checkbox" name="priv" value="2"/>
<input type="checkbox" name="priv" value="3"/>
<input type="checkbox" name="priv" value="4"/>
<input type="checkbox" name="priv" value="5"/>
<input type="checkbox" name="priv" value="6"/>
<input type="checkbox" name="priv" value="7"/>
 <input type="checkbox" name="priv" value="8"/>​

voici un demo du problème

27
palAlaa

Vous pouvez utiliser Attribute Equals Selector [name = "value"] pour obtenir les cases à cocher avec une valeur particulière. Utilisez également prop () au lieu de attr () comme cela est recommandé par jQuery doc .

Démo en direct

$(":checkbox[value=4]").prop("checked","true");

ou

$("input[type=checkbox][value=5]").prop("checked",true);

Description: Sélectionne les éléments ayant l'attribut spécifié avec une valeur exactement égale à une certaine valeur, jQuery doc .

Vous pouvez aussi le faire en utilisant attr () mais prop est plus approprié pour les propriétés booléennes.

$(":checkbox[value=4]").attr("checked","true");

A partir de jQuery 1.6, la méthode .attr () renvoie non défini pour les attributs qui n'ont pas été définis. Pour récupérer et modifier des propriétés DOM telles que l'état coché, sélectionné ou désactivé des éléments de formulaire, utilisez le fichier Méthode .prop (), jQuery doc

Edit, demandé dans les commentaires, "À quoi ressemblerait la réponse/expression de recherche avec des valeurs complexes, comme valeur =" Smith, David "

Vous pouvez inclure ce genre de valeurs comme Smith, David sur des guillemets simples. Vous pouvez même utiliser les caractères utilisés par jQuery tels que #,., $ Etc, voir le violon mis à jour ici .

$("input[type=checkbox][value='#Smith, David$']").attr("checked","true");
77
Adil
$(":checkbox").filter(function() {
  return this.value == '5';
}).prop("checked","true");​

D&EACUTE;MO

Si vous voulez l’utiliser pour différentes valeurs, rendez-le générique comme suit:

function checkWithValue(val) {
    $(":checkbox").filter(function() {
        return this.value == val;
    }).prop("checked", "true");
}


checkWithValue(5);​

D&EACUTE;MO

9
thecodeparadox
$("input:checkbox[value='5']").attr("checked","true")
4
bahaddin.yasar

J'avais une dynamique qui devait être bouclée. C'est ce qui a fonctionné pour moi:

for (var i = 0, len = value.length; i < len; i++) {
  $("#form-name").find("input[type=checkbox][name='fName']").filter(function () {
    return this.value == values[i];
  }).prop("checked", true);
}

J'espère que ça aide quelqu'un.

2
Ray Hunter

Cela fonctionne aussi avec la pratique carrée 

 $(":checkbox").filter(["value":5]).prop("checked","true");
1
palAlaa

Parfois, nous voulons obtenir une case à cocher dynamique pour une valeur spécifique.

$(document).on('click','.at-filter a', function(){
    var aaa = $(this).parent().find("em").html();
    $("input[type=checkbox][value='"+aaa+"']").prop('checked',false)
});
1
Afraz Ahmad
$(":checkbox[value=5]").attr("checked",true);​​​
0
Dev
$("#catalogTBL").find("input[type=checkbox][value='snet']").prop("checked", true);

C'était la seule façon pour moi de faire en sorte que cela fonctionne. Vous recherchez une case à cocher dans une table.

0
pat capozzi