从一个td输入转到另一个td输入jquery

时间:2014-06-16 08:52:38

标签: 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&# 34;:3}];

我要做的是:找到td.Suppose中的输入值,我在data.SalaryHeadId中得到值10。

所以,我需要找到值为10的td输入,然后在表的第四列中设置一些值,这也是一个输入类型。这里,SalaryHeadId输入的Id是  headid+"Id Of Head" 我不知道如何做到这一点。谢谢你在我的问题上有时间

更新:仅限两行的HTML。输入类型中的所有ID都以编程方式添加

<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 个答案:

答案 0 :(得分:0)

在这里查看一个工作小提琴: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);
});

只有其他方法是检查您的值是否与ID匹配。我知道你只发布了一个数据样本,但数据值和html根本没有匹配。这只是意味着我被困了一会儿。可能不是你的问题(我只是稍微编辑了html中的ID以使其正常工作)。

相关问题