我有一个表,其中每个td元素将包含一个输入类型文本。
<tr>
<td id="a1"><input type="text" id="a1t"/></td>
<td id="a2"><input type="text" id="a2t"/></td>
</tr>
<tr>
<td id="b1"><input type="text" id="b1t"/></td>
<td id="b2"><input type="text" id="b2t"/></td>
</tr>
我需要知道文本输入聚焦时的td id。我尝试通过调用附加到输入类型文本的onfocus事件的js函数来执行此操作,但该函数未被调用。
<input type="text" id="b2t" onfocus="cell_clicked('b2t')" />
这是函数和fiddle:
function cell_clicked(cell_no){
alert(cell_no);
}
但该功能未被调用。 我做错了吗?
答案 0 :(得分:2)
您的代码工作正常,您在jsfiddle中设置错误
在Framework and extensions
下将onLoad
更改为no wrap
,以使您的职能cell_clicked
全球可用。
看到此http://jsfiddle.net/ywt8V/3/(您的小提琴http://jsfiddle.net/ywt8V/只更改了此设置。)
作为旁注,您可以像这样访问父表格单元格的id:
onfocus="cell_clicked(this.parentNode.id)"
希望这有帮助
答案 1 :(得分:0)
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<td><div id="boom" class="selected"><input type="text" id="b2t" onfocus="cell_clicked(this.id)" /></div></td>
function cell_clicked(id){
var foo = $( "#"+id ).parent(".selected").attr( "id" );
alert(foo);
}