2016-07-12 3 views
0

Ich versuchte viele Lösung, aber es scheint nicht funktioniert für mich könnte jemand mir helfen, mein Problem zu lösen?Javascript DOM Console Browser

Ich möchte den Wert des GPS Fleet Management System in textarea ändern.

Hier ist mein Code:

<div class="caption"> 
    <i class="fa fa-reorder"></i>GPS Fleet Managment System 
</div> 
<a href="#" id="change">Change</a> 

var textbox = $("#caption"); 
var textarea = $("<textarea id='textarea'></textarea>"); 
$("#change").click(function() { 
    textbox = textbox.value(textarea); 
}); 
+0

Wert ändern Attribut in HTML und – rad11

+0

sehen können, was Sie genau wollen Menschen zu tun? – madalinivascu

+1

'textbox = textbox.value (textarea);' ergibt keinen Sinn. In jQuery gibt es keinen Wert(). Und Sie legen den Wert als .toString() eines jQuery-Objekts fest. Und Sie verwenden einen ID-Selektor, aber Ihr HTML-Code hat eine Klasse. – epascarello

Antwort

0

Verwendung e.preventDefault() die Standard-Click-Ereignis zu verhindern, den Textbereich Wert Verwendung textarea.val();

var textbox = $(".caption"); 
var textarea = $("<textarea id='textarea'></textarea>"); 
$("#change").click(function (e) { 
     e.preventDefault(); 
     console.log(textarea.val()); 
     //to add the textare to the page use append() or html() 
     textbox.append(textarea); 
}); 
+0

Denken Sie nicht, OP möchte den Wert eines Elements lesen. – epascarello

+0

glaube nicht, dass er weiß, was er will – madalinivascu

2

ändern value zu html zu erhalten, fügen Sie e.preventDefault() und die #caption ändern Wahlschalter auf .caption:

var textbox = $(".caption"); 
var textarea = $("<textarea id='textarea'></textarea>"); 
$("#change").click(function (e) { 
    e.preventDefault(); 
    textbox.html(textarea); 
}); 
0

Wenn Sie das div durch ein Textfeld ersetzen möchten, verwenden Sie . Ihre var textbox = $("#caption"); sollte .caption sein, da Ihr Element eine Klasse von Beschriftung enthält, keine ID.

textbox.replaceWith(textarea); 
1

A könnte anderen Ansatz sein:

$(function() { 
 
    var textbox = $("#caption"); 
 
    var textarea = $("<textarea id='textarea'></textarea>"); 
 

 
    $("#change").click(function (e) { 
 
    var ele = document.getElementsByClassName('caption')[0].childNodes[2]; 
 
    document.getElementsByClassName('caption')[0].replaceChild(textarea[0], ele); 
 

 
    }); 
 
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
 
<script src="https://code.jquery.com/jquery-1.12.1.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
 

 
<div class="caption"> 
 
    <i class="fa fa-reorder"></i>GPS Fleet Managment System 
 
</div> 
 
<a href="#" id="change">Change</a>