Как обновить значение определенного поля ввода вместо первого дочернего элемента td? - PullRequest
0 голосов
/ 04 сентября 2018

Я добавил этот код в свою функцию в javascript и успешно обновляю таблицы первым TD новыми значениями строк после того, как пользователь нажимает кнопку, чтобы нажать строку вверх или вниз, проблема в том, что я использую ввод поле в этом тд и вход удаляется и значение теперь просто простой текстовый / цифровой символ.

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

Array.prototype.forEach.call(document.querySelectorAll('td:first-child'),
  function (elem, idx) { elem.innerHTML = idx + 1; }
)

Хорошо, с помощью Archers я обновил приведенный ниже код и теперь получил необходимую функциональность. Спасибо всем, кто участвовал в обучении этого новичка;)

        Array.prototype.forEach.call(document.querySelectorAll('td:first-child input[name^=sort]'), function (elem, idx) {
        elem.value = idx + 1;

Изменяя

 'td:first-child'

до

 'td:first-child input[name^=sort]'

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

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Или вы можете использовать свой код и изменить его тело следующим образом:

Array.prototype.forEach.call(document.querySelectorAll('td:first-child'), function(elem, idx){
     (elem.querySelector("input")||{}).value=idx+1; //use this line instead of your forEach body
});

Попробуйте онлайн!

0 голосов
/ 04 сентября 2018

Вы можете изменить селектор на целевой вход вместо ячейки, в которой он находится ...

Array.prototype.forEach.call(document.querySelectorAll('td:first-child input'),
    function (elem, idx) {
        elem.value = idx + 1;
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...