J'ai une mise en page simple avec un TextBlock et un <a>
, comme:Texte jQuery à saisir?
text1 edit
Lorsque je clique sur le <a>
, je veux que ce textblock devienne saisie de texte. Comment est-ce possible avec jQuery?
J'ai une mise en page simple avec un TextBlock et un <a>
, comme:Texte jQuery à saisir?
text1 edit
Lorsque je clique sur le <a>
, je veux que ce textblock devienne saisie de texte. Comment est-ce possible avec jQuery?
Utilisez jQuery replaceWith()
:
$(document).ready(function(){
$("a").click(function(e){
e.preventDefault();
$(this).parent().replaceWith("<input />");
});
});
De plus, vous pouvez remplir la zone de texte avec le texte en dehors du lien comme ceci:
$(document).ready(function(){
$("a").click(function(e){
e.preventDefault();
var txt = $(".text").html();
$(".text").replaceWith("<input value='" + txt + "' />");
});
});
qui suit remplacera le modifier avec Save & Annuler Options:
<div>
<span class="text">testing</span> <a href='#'>test</a>
</div>
$(document).ready(function(){
$("a").click(function(e){
e.preventDefault();
var txt = $(".text").html();
$(".text").replaceWith("<input value='" + txt + "' />");
$(this).replaceWith("<a href='#'>Save</a> | <a href='#'>Cancel</a>");
});
});
Il y a beaucoup de plug-ins que vous pouvez utiliser ... Pas besoin de réinventer la roue
bien sûr, mais il est parfois plus facile d'écrire trois lignes de code. –
@llya ouais mais cela n'inclut pas le code pour enregistrer l'entrée et le renvoyer au serveur pour persister (en supposant que vous voulez faire cela ....que vous faites probablement) – calumbrodie
Hmm ... ur un peu pas clair ... mais http://jsfiddle.net/mMYrf/4/
<div class="dataGrid">
<span>test</span>
<a href="#">edit</a>
</div>
Et
$('.dataGrid a').click(function(e) {
e.preventDefault();
var EditGrid = $(this).parent().children('span');
var DataTxt = EditGrid.text();
var InputHtml = '<input type=text" value="'+DataTxt +'" />';
$(this).text('Save?');
EditGrid.html(InputHtml);
});
Quel est le problème avec votre jsfiddle? cela n'appartenait pas à cette question. – kst
Nice emploi jsfiddle: D –
Hahhaa .. Pwned par soi-même! :( –
<div class="editable">This is the content.</div>
<script type="text/javascript">
$(function() {
$('.editable').each(function() {
var a = $('<a href="#">edit</a>');
(function(link, parent) {
link.click(function() {
link.remove();
var textField = $('<textarea/>').val(parent.html());
parent.replaceWith(textField);
delete parent, link;
});
})(a, $(this));
$(this).append(" ").append(a);
});
});
</script>
Exemple de travail: http://jsfiddle.net/BnH29/
J'ai répondu à une question similaire, jetez un oeil à: http://stackoverflow.com/a/28360984/442883 – rsa
J'ai répondu à une question similaire, jetez un oeil à: http://stackoverflow.com/a/28360984/442883 – rsa