2014-06-04 4 views
2

Onclick Я хочу изменить текст в поле ввода. Если я изменю значение в поле ввода и нажмите в любом месте, вернитесь к тексту. Я нашел эту скрипку.JQuery Onclick текст в текстовое поле

http://jsfiddle.net/davidThomas/767y4/8/

$('#tbl').on('click','.xx',function() { 
    $(this).siblings().each(
     function(){ 
      if ($(this).find('input').length){ 
       $(this).text($(this).find('input').val()); 
      } 
      else { 
       var t = $(this).text(); 
       $(this).text('').append($('<input />',{'value' : t}).val(t)); 
      } 
     }); 
}); 

Я использовал эту скрипку. Но входное значение не изменилось на текст. Посмотрите мою обновленную скрипку.

http://jsfiddle.net/5Ach3/

Как добиться этого?

+0

как это? http://jsfiddle.net/5Ach3/1/ –

+0

http://jsfiddle.net/modaloda/5Ach3/8/ –

ответ

3

Проверить это Demo Fiddle

$('#tbl').on('click','.xx',function() { 

     var t = $(this).text(); 
     $(this).text('').append($('<input />',{'value' : t})); 
     $('input').focus(); 


}); 

$('#tbl').on('blur','input',function() { 
    $(this).parent().text($(this).val()); 
}); 
+1

Отлично. Спасибо. Его работа хорошая. – Akash

+0

Goodluck, вернитесь назад в случае каких-либо проблем! –

0

Если вы просто хотите преобразовать текст в исходное состояние при нажатии, вы можете использовать свойство contenteditable="true" html. Вам не нужен JS таким образом.

<p contenteditable="true">my text</p> 

http://jsfiddle.net/9Ec5C/

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