jquery设置某个td内所有输入的值

时间:2014-08-09 06:31:36

标签: jquery

我有一张桌子......

        <table id="tblTransactions" class="table table-striped">
          <thead>
            <tr>
              <th class="col-md-1">Date</th>
              <th class="col-md-4">Description</th>
              <th class="col-md-2">Debit</th>
              <th class="col-md-2">Credit</th>
              <th class="col-md-3">Category</th>
            </tr>
          </thead>
          <tbody>
            <c:forEach items="${transactions}" var="element"> 
              <tr>
                <td><fmt:formatDate pattern="dd/MM/yyyy" value="${element.tranDate}"/></td>
                <td class="colTranDesc">${element.tranDescription}</td>
                <td>${element.debit}</td>
                <td>${element.credit}</td>
                <td class="colCategory"><input type="text" class="eetag" name="tag"></td>
              </tr>
            </c:forEach>              
          </tbody>
        </table>

页面加载后,我想为每个td设置每个输入的值,使用类&#34; colCategory&#34;。

我希望选择器看起来像这样但是语法很麻烦......

$("#tblTransactions > tbody  > tr > td > input.colCategory").each(function(){
    var elt = $(this).val("Phone");
});

请有人帮我解决这个问题。或者,如果有更简单的方法,我可以接受建议。

THX

2 个答案:

答案 0 :(得分:5)

  1. 您为什么要遍历DOM表单table
  2. 为什么要查看colCategory课程,为什么不使用class of input tag
  3. eetag.
  4. 您是否将此代码放入$(document).ready()函数。
  5. 任何方式试试这个。

    $(document).ready(function(){ //by using td class
          $(".colCategory").each(function(){
                $(this).find('input').val("Phone");
          })
    })
    

    或简单的方法是:

    $(document).ready(function(){ //by using input class
          $(".eetag").each(function(){
                $(this).val("Phone");
           })
    })
    

答案 1 :(得分:2)

您的td已上课colCategory,但在选择器中您指定的是input.colCategory。因此,它正在搜索具有类input's

的所有colCategory

你应该说像吼叫

$("#tblTransactions > tbody  > tr > td.colCategory > input").each(function(){
    var elt = $(this).val("Phone");
});

因此,它会在inputs中搜索有td's类的colCategory