#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 Нет проблем. Рад, что смог помочь. Так часто это просто что-то маленькое, что вы просто не видите.