Переход от одного ввода td к другому td input jquery

#jquery

#jquery

Вопрос:

 function (data) {
    $.each(data, function (index, item) {
        $('#headid'   item.SalaryHeadId).closest('tr').find('td:eq(3) input').val(data.Amount);
    });
});
  

вот данные [{«Сумма»: 10622,50,»SalaryHeadId»:2},{«Сумма»: 700,00, «SalaryHeadId»:3}];

Что я пытаюсь сделать, так это: найти входное значение, которое находится в td.Предположим, я получаю значение 10 в данных.SalaryHeadId.

Итак, мне нужно найти ввод td, который имеет значение 10, затем установить некоторое значение в четвертом столбце таблицы, которое также является типом ввода. Здесь идентификатор ввода SalaryHeadId — headid "Id Of Head" я понятия не имею, как это сделать.Спасибо, что уделили время моей проблеме

Обновление: Html только для двух строк.Все идентификаторы в типе ввода добавляются программно

 <table id="table" class="table table-striped table-bordered table-hover">
    <tbody><tr>
        <th>
            Id
        </th>

        <th>
            HeadName
        </th>

        <th>
            Is Deduction
        </th>

        <th>
            Percentage
        </th>
        <th>
            Amount
        </th>
    </tr>

    <tr>
        <td>
         1
        </td>

        <td>
           <input type="text" value="1" name="item.Id" id="headid1" data-val-number="The field Id must be a number." data-val="true" class="headid">
            Basic
        </td>
        <td>
            <input type="checkbox" disabled="disabled" class="check-box">
            <label for="" class="lbl"> </label>
        </td>

        <td>
            <input type="text" value="" name=" " id="Percentage1" class="percentage">
        </td>
        <td>
            <input type="text" value="" name=" " id="Amount1" class="amount">
        </td>
         </tr>
    <tr>
        <td>
         12
        </td>

        <td>
           <input type="text" value="12" name="item.Id" id="headid12" class="headid">
            Govt. Part
        </td>
        <td>
            <input type="checkbox" disabled="disabled" class="check-box">
            <label for="" class="lbl"> </label>
        </td>

        <td>
            <input type="text" value="" name=" " id="Percentage2" class="percentage">
        </td>
        <td>
            <input type="text" value="" name=" " id="Amount2" class="amount">
        </td>
         </tr>


</tbody></table>
  

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

1. можете ли вы поделиться html

2. есть ли какой-либо способ сделать это?

3. Можете ли вы показать, как вы устанавливаете, какие данные?

4. Данные @AndrewPolland представлены в формате json [{«Сумма»: 10622,50,»SalaryHeadId»:2},{«Сумма»: 700,00,»SalaryHeadId»:3}]

Ответ №1:

Смотрите рабочую скрипку здесь: http://jsfiddle.net/hJ26p/2 /

Я думаю, у вас только что была пара ошибок. Синтаксис вашей функции был немного не в порядке (у нее не было имени, и в конце была случайная скобка). Не совсем уверен, как вы хотели, чтобы он вызывался, но я изменил его на вызов, когда документ будет готов.

Также вы использовали data.Amount вместо item.Amount для установки значения.

Это код js:

 function setValues(data) {
    $.each(data, function (index, item) {
        $('#headid'   item.SalaryHeadId).closest('tr').find('td:eq(3) input').val(item.Amount);
    }); 
};

$(document).ready(function () {
    var values = [{"Amount":10622.50,"SalaryHeadId":2},{"Amount":700.00,"SalaryHeadId":3}];
    setValues(values);
});
  

Единственное, что нужно сделать, это проверить, совпадают ли ваши значения с идентификаторами. Я знаю, что вы опубликовали только выборку данных, но значения данных и HTML-код вообще не совпадали. Что просто означало, что я застрял на мгновение. Вероятно, это не проблема для вас (я просто слегка отредактировал идентификаторы в html, чтобы заставить его работать).

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

1. отлично, ошибки не было, но я использую data вместо item спасибо. Я случается, когда пытаюсь что-то быстро. Большое спасибо

2. @janina Нет проблем. Рад, что смог помочь. Так часто это просто что-то маленькое, что вы просто не видите.