正确的$ table.currentRow.1stCell语法

时间:2014-07-25 02:36:37

标签: javascript jquery

这是我的javascript:

$(document).on("keypress", "#desc", function(e) { //#desc to `$table.currentRow.1stCell`
  $('#cd').val() = "was change";
});

这是我的HTML:

<table>
  <tr>
    <td>
      <input type="text" id="cd">
    </td>
    <td>
      <input type="text" id="desc">
    </td>
  </tr>//1st row
  <tr>
    <td>
      <input type="text" id="cd">
    </td>
    <td>
      <input type="text" id="desc">
    </td>
  </tr>//2nd row
</table>

如您所见,我使用id,因此当我在第1行或第2行键入时,第1行和第2行的第1个单元格都被更改了。我想不要使用idclass,但是像$table.currentRow.1stCell但是不知道什么是正确的格式,所以我只能更改当前行。请求五月天!谢谢:))

2 个答案:

答案 0 :(得分:1)

将第一个单元格的文本更改为输入内容的基本思路

$("tbody").on("change", "input", function() {
    $(this)  //input
         .closest("tr")  //finds the row associated with the input
             .find("td:first")  //returns the first cell
                 .text(this.value);  //sets the text
});

http://jsfiddle.net/yvDDp/


因为您更改了问题的HTML:

$("tbody").on("change", "tr td:nth-child(2) input", function () {
    $(this) //input
        .closest("tr") //finds the row associated with the input
            .find("td:first input") //returns the first cell's input
                .val(this.value); //sets the value
});

http://jsfiddle.net/yvDDp/1/

答案 1 :(得分:0)

您可以尝试此代码正常工作

$(document).on("keypress","#desc",function(e){ //#desc to `$table.currentRow.1stCell`
//tr  parent element find first input;
   $(this).parent().parent().find("input").first().val('was change');
    });
     });