2017-06-28 1 views
0

Je voulais basculer l'attribut readonly de toutes les entrées dans une div. J'ai trouvé quelques solutions mais une seule a fonctionné.Inverser les entrées readonly explication

Je voudrais savoir pourquoi ce code ne fonctionne pas:

$("#" + id + " :input").each(function() { 
     $(this).readOnly = !$(this).readOnly; 
}); 

Voici le code de travail:

$("#" + id + " :input").each(function() { 
    (this).attr("disabled", function(i, d) { 
     return !d; 
    }); 
}); 

Quelqu'un peut-il me l'expliquer?

Répondre

0

Vous pouvez essayer ceci: Working Fiddle

Nous pouvons utiliser prop jquery pour basculer en lecture seule attriblute.

HTML:

<input type="button" id="btnToggle" value="Toggle" /> 
<div id="divToggle"> 
    <label>First:</label><input type="text" id="txtFirst" /><br/> 
    <label>Second:</label><input type="text" id="txtSecond" /><br/> 
    <label>Third:</label><input type="text" id="txtThird" /><br/> 
</div> 

jQuery:

$("#btnToggle").click(function(){ 
    var id="divToggle"; 
    $("#" + id + " :input").each(function() { 
     $(this).prop("readOnly",!$(this).prop("readOnly")); 
    }); 
}); 
+1

Oh bien, je comprends maintenant! :)) Je vous remercie!!! – Ben