2016-03-11 4 views
1

Я пытаюсь создать редактируемое сообщение с помощью jquery. Но мой код не работает. Он должен работать, когда я нажимаю кнопку редактирования, тогда editMarkUp свяжутся с messageB1, но это не сработает.jquery edit post не работает

Любой может помочь мне здесь, чего мне не хватает и каково решение?

Это DEMO из jsfiddle.net

Js

$(document).ready(function() { 

    $("body").on("click", ".editBtn", function() { 
     var ID = $(this).attr("id"); 
     var currentMessage = $("#messageB" + ID + " .postInfo").html(); 
     var editMarkUp = '<textarea rows="5" cols="80" id="txtmessage_' + ID + '">' + currentMessage + '</textarea><button name="ok" ">Save</button><button name="cancel">Cancel</button>'; 
     $("#messageB" + ID + " .postInfo").html(editMarkUp); 
    }); 
}); 

HTML

<div class="container"> 
    <div class="postAr" id="messageB1"> 
     <div class="postInfo"> 
     fdasfads fasd fadsf adsf adsf adsf asd fasd f dfsa 
     </div> 
     <div class="editBtn" id="1">Edit</div> 
    </div> 
</div> 
+1

Вы 'Uncaught ReferenceError: editobj не defined' в консоли – robjez

ответ

2

Вы не определяя editobj переменную в любом месте вашего кода, и я думаю, вы, вероятно, имели в виду .postInfo:

$(document).ready(function() { 

    $("body").on("click", ".editBtn", function() { 
    var ID = $(this).attr("id"); 
    $('.postInfo').prop('disabled', 'true'); 
    var currentMessage = $("#messageB" + ID + " .postInfo").html(); 
    var editMarkUp = '<textarea rows="5" cols="80" id="txtmessage_' + ID + '">' + currentMessage + '</textarea><button name="ok" ">Save</button><button name="cancel">Cancel</button>'; 
    $("#messageB" + ID + " .postInfo").html(editMarkUp); 
    }); 
}); 

MODIFIED DEMO

+0

спасибо. Прошу прощения за этот вопрос, я учусь :). Еще раз спасибо. – Azzo

+0

Нет проблем. Пока вы проверяете свой код, у вас есть отличный инструмент в веб-инструментах разработчика веб-браузера, вы узнаете ** [как его использовать] (https://developer.chrome.com/devtools) **;) – robjez

Смежные вопросы