使用jquery标识最内层的子元素

时间:2015-04-15 17:17:08

标签: javascript jquery html

页面上的表格中已有数据。表格的结构类似于

<table id='tbl1'>
  <tr>
    <td><div>some val</div></td><td><div>some val</div></td><td><div>some val</div></td></tr>
  <tr>
    <td><div>some val</div></td></tr>
</table>

这将是以上述格式从db显示的几行。除此之外,基于按钮单击(添加新行),需要填充新行。我已实现了“添加”行。这个功能:

$('#tbl1'.append(<tr><td><div><input type='text id='bc' value=''/></div>           </td></tr>

行已成功添加。但是我需要在上面的文本字段中输入一个值(由id:&#39; bc&#39;标识),并根据输入的值,匹配的数据应该从DB中获取。

我想如果我得到最内层元素的id,我将能够捕获该值并将其发送到DB)我试图获取ID&#39; bc&#39; AS

$('#bc'.keyup(function(){
    alert("key pressed");
});

但是,我没有得到警报......我对jquery很新。请提出建议。

1 个答案:

答案 0 :(得分:0)

首先,您的代码充满了语法错误。就像现在一样,它根本不起作用:

$('#tbl1'.append(<tr><td><div><input type='text id='bc' value=''/></div></td></tr>
  • 您的jQuery选择器和附加功能未关闭$('#tbl1' - &gt; $('#tbl1')
  • 您的附加html不是字符串
  • type ='text属性缺少结束报价
  • 我必须是独一无二的。您将使用相同的ID附加输入。
  • 您的表有4列,但您只添加了一行

现在您的密钥问题是,在页面加载后将输入添加到DOM,因此在这种情况下您无法使用.keyup()。而是在表格上使用.on(),例如:

$('#tbl1').append('<tr><td colspan="4"><div><input type="text" class="bc" value=""/></div></td></tr>');

$('#tbl1').on('keyup','.bc',function(){
    alert("key pressed");
});