Динамическая установка входного значения с помощью jQuery - PullRequest
0 голосов
/ 14 октября 2019

У меня есть таблица данных и полей ввода.

Когда поле ввода пусто, следует нажать кнопку копирования текста из строки с классом «shipdate». Я всегда копирую запись в коде. Может кто-нибудь сказать мне, где я не прав.

Это мой код

$(".btn-yes").click(function() {
  var $val = $(document).find('.date');
  $('.date').each(function() {
    var $val = $(this).val();
    if ($val === "") {
      $('tr').each(function() {
        var $this = $(this),
          daata = $this.find('td.shipdate').html();
        $this.find('input').val(anData);
      })

    } else(
      console.log("empty")
    )
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <table>
    <thead>
      <tr>
        <th>Example1</th>
        <th>Example2</th>
        <th>Example3</th>
        <th>Example4</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td> text1</td>
        <td> text2 </td>
        <td> <input type="text" value="" class="date" /> </td>
        <td class="shipdate"> 31.10.2019.</td>
      </tr>
      <tr>
        <td> text1</td>
        <td> text2 </td>
        <td> <input type="text" value="" class="date" /> </td>
        <td class="shipdate"> 31.10.2019.</td>
      </tr>
      <tr>
        <td> text1</td>
        <td> text2 </td>
        <td> <input type="text" value="" class="date" /> </td>
        <td class="shipdate"> 31.10.2019.</td>
      </tr>
      <tr>
        <td> text1</td>
        <td> text2 </td>
        <td> <input type="text" value="" class="date" /> </td>
        <td class="shipdate"> 31.10.2019.</td>
      </tr>
    </tbody>
  </table>
  <div>
    <button class="btn-yes">
    Click here
    </button>
  </div>
</div>

1 Ответ

5 голосов
/ 14 октября 2019

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

. Вы можете удалить .slice (0, -1), если ячейка даты доставки содержит дату без конечной точки

Вы можететакже свободно меняйте $(this).parent().next().text() на $(this).closest("tr").find(".shipdate").text() на случай, если вы хотите переместить ячейки вокруг

$(".btn-yes").click(function() {
  $('.date').each(function() {
    var $val = $(this).val();
    var shipdate = $.trim($(this).parent().next().text()).slice(0,-1) 
    $(this).val($val === "" ? shipdate : $val)
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <table>
    <thead>
      <tr>
        <th>Example1</th>
        <th>Example2</th>
        <th>Example3</th>
        <th>Example4</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td> text1</td>
        <td> text2 </td>
        <td> <input type="text" value="" class="date" /> </td>
        <td class="shipdate"> 31.10.2019.</td>
      </tr>
      <tr>
        <td> text1</td>
        <td> text2 </td>
        <td> <input type="text" value="" class="date" /> </td>
        <td class="shipdate"> 31.10.2019.</td>
      </tr>
      <tr>
        <td> text1</td>
        <td> text2 </td>
        <td> <input type="text" value="" class="date" /> </td>
        <td class="shipdate"> 31.10.2019.</td>
      </tr>
      <tr>
        <td> text1</td>
        <td> text2 </td>
        <td> <input type="text" value="" class="date" /> </td>
        <td class="shipdate"> 31.10.2019.</td>
      </tr>
    </tbody>
  </table>
  <div>
    <button class="btn-yes">
    Click here
    </button>
  </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...