$ J = 1; ?> var t =''; var options =“”;
</script>
<?php
foreach ($this->data['DEFAULTS'] as $rec){
foreach ($rec as $key=>$val){
?>
<script type="text/javascript">
var cntr = "<?php echo $j;?>";
var reference_value = '<?php echo $val["GETVAL"];?>';
var sel = '<select name="code[]">'+options+'</select>';
var txt = '<input type="text" class="TextBox" name="referencevalue[]" valign="top" value="'+ reference_value +'">';
t += '<tr id ='+cntr+'><td>'+cntr+'</td><td valign="top">'+sel+'</td><td valign="top" ailgn="center">'+txt+'</td></tr>';
</script>
<?php
$j++;
}
}
?>
<script type="text/javascript">
alert("MYTABLE "+t);
$("#ref").append(t);
</script>
when i say alert(t) iam getting the entire table structure and the data but iam not able to add it to the table
.Here is the Table Structure where i have to add
<table width="100%" cellspacing="2" cellpadding="2" align="left">
<tbody><tr>
<th class="coltextleft">
<span style="font-size: 14px; font-weight: bold;" id="id_refTbl">
<img id="IMG1" height="15" width="15" align="middle" src="cllpsed.gif"/> </span>
</th>
</tr>
<tr><td>
<div id="ref" style="display:none">
<table id="ref" width="100%" class="formTable">
<tr>
<td> </td>
<td> Code</td>
<td> Value</td>
<td> </td>
</tr>
<tr><td>I need to add the result of alert(t) with inthis rows</td></tr></table>
答案 0 :(得分:1)
首先,问题的一个元:你为什么要这样做?为什么不通过PHP直接在页面中呈现标记而不是为客户端呈现<script>
元素来完成相同的任务呢?
直接回答:您的代码需要包装在document.ready
处理程序中,因为执行时id="ref"
元素尚未包含在DOM中:
$("#ref").append(t);
所以它找不到那个尚不存在的元素。将其包装在ready
处理程序中,如下所示:
$(function() {
$("#ref").append(t);
});
这种方式在DOM完全加载/准备好之后执行,而#ref
选择器将找到您所追踪的<table>
。
为了完成这项工作,您还需要从id
中移除<div id="ref" style="display:none">
,因为ID必须是唯一的。
答案 1 :(得分:1)
如果变量t是整个表格标记,那么,如果你试图将它附加到表格中,那可能不起作用。你可能想要:
var t = '<tr><td>foo</td></tr>'
此时,你应该能够:
$("table#ref").append(t)
jQuery#append将标记添加到目标元素的子节点的末尾。