Как обновить значение td таблицы значением поля ввода?

#jquery

#jquery

Вопрос:

Когда я нажимаю кнопку обновить, значения td таблицы должны быть обновлены значениями поля ввода. Вот скрипка

 $(function() {
    $('#update').click(function(){
       var txt = $(#name).val();
       $('tname').val(txt);                   
});
  

Имя:
мое имя

 <div class="col2-content" id="info">
    <div class="para">
        <ol>
            <li>
                 <label for="name">name:</label>
                  <input id="name" name="name" type="text" onclick="return false;">
             </li>
         </ol>
         <div class="update">
            <button id="update" type="submit">update</button>
         </div>
      </div>
</div>
  

Комментарии:

1. ааа … разве это не должно быть .html? Не является .val для входных данных?

Ответ №1:

используйте html() для установки или получения td значения и val() для получения или установки input значения.

 $('#tname').html($('#name').val());
//html('somevalue') sets td's value and html() fetches it's value
//val('somevalue') sets input's value and val() fetches it's value
  

http://fiddle.jshell.net/PWYhD/6/

Ответ №2:

Ваша скрипка была пронизана ошибками JS и неправильными вызовами методов, вот почему она не сработала. Консоль JS должна быть видна вам всегда, потому что она показывает ошибки в вашем коде.

Во всяком случае, я почистил его, и он работает

 $(function() {
      $('#edit').click(function() {
           $('#info').show();
       });
        $('#update').click(function(){
           $('#tname'). html($('#name').val());
           $('#avatar').html($('#gmae-id').val());
           $('#temail').html($('#phone').val());
    });

});
  

При изменении html-кода внутри элементов используйте .html() тег, а не .val()

Вот рабочая скрипка

Ответ №3:

Если этот код скопирован из ваших реальных файлов, у вас возникает небольшая ошибка:

    var val = $('#name').val();// use quotes around selector
   $('#tname'). val($('#name').attr('value'));// you forgot the hash
  

Обновить

Только что проверил вашу скрипку, val() работает только с элементами формы. Попробуйте использовать html() для других тегов.

Вот мой пример на fiddle.

Ответ №4:

Кажется, что в вашем jQuery отсутствуют некоторые одинарные кавычки.

 $(function() {
    $('#update').click(function(){
       var val = $('#name').val();
       $('tname').val($('#name').attr('value'));                   
});
  

Это должно исправить.