次のコードがあります。
var counter=0;
function appendText(){
var text = $("#text").val();
if ( $("#text").val() ){
var textArea = "<div class='divex'> <textarea id='t"+counter+"'>"+text+"</textarea><button id='b"+
counter+"'name='t"+counter+"' >edit</button> <button onClick='moveUp()' id='updiv'>Up:></button></div>";
$("#text").val();
$("#addedText").after(textArea);
$("#t"+counter).clear;
$("#t"+counter).attr('readonly','readonly');
$("#b"+counter).bind('click',makeAreaEditable);
$("#text").val('');
counter++;
}
else{
}
};
var makeAreaEditable = function()
{
var target = event.target || event.srcElement || event.originalTarget;
var button = $("#"+target.id);
button.text("OK");
button.unbind('click');
button.bind('click',saveEdit);
var targetArea = $("#"+target.name);
targetArea.removeAttr('readonly');
};
var saveEdit = function()
{
var target = event.target || event.srcElement || event.originalTarget;
var button = $("#"+target.id);
button.text("edit");
button.unbind('click');
button.bind('click',makeAreaEditable);
var targetArea = $("#"+target.name);
targetArea.attr('readonly','readonly');
};
html は次のようになります。
テキストを追加
<div id="addedText" style="float:left">
</div>
このスクリプトを次のように変更したいと思います。テキストの追加ボタンをクリックすると、li
[OK] をクリックするとテキストが要素として追加され、テキストエリアが表示され、保存時に li に戻ります。ありがとう!
やりました!最終的なコードは次のとおりです。
var makeAreaEditable = function()
{
var liid = $(this).parent().find('li').attr('id');
var text = $("#"+liid).html();
var target = event.target || event.srcElement || event.originalTarget;
var button = $("#"+target.id);
button.text("OK");
button.unbind('click');
button.bind('click',saveEdit);
var targetArea = $("#"+target.name);
targetArea.replaceWith('<textarea>'+text+'</textarea>');
};
var saveEdit = function()
{
var target = event.target || event.srcElement || event.originalTarget;
var button = $("#"+target.id);
var textarea = $(this).parent().find('textarea');
var text = textarea.val();
button.text("edit");
button.unbind('click');
var targetArea = button.parent().find('textarea');
var textid = target.name;
targetArea.replaceWith("<li id='"+textid+"' style='list-style-type:none;'>"+text+"</li>");
};