使用JQuery将load()的结果追加到表中并对其进行格式化
Appending the results of a load() into a table with JQuery and formatting it
我正试图将JQuery load()中的数据附加到表中。虽然我能够成功地将数据附加到表中,但附加的结果的格式与表的其余部分不一致。
表格的当前格式(附加后)
+---------------------------------------------------+
| Data |
-----------------------------------------------------
| Data | Data |
-----------------------------------------------------
| Data | Data |
-----------------------------------------------------
|Append data|Append data |
--------------------------
|Append data|Append data |
--------------------------
|Append data|Append data |
--------------------------
|Append data|Append data |
--------------------------
所需格式
+---------------------------------------------------+
| Data |
-----------------------------------------------------
| Data | Data |
-----------------------------------------------------
| Data | Data |
-----------------------------------------------------
| Append Data | Append Data |
-----------------------------------------------------
| Append Data | Append Data |
-----------------------------------------------------
| Append Data | Append Data |
-----------------------------------------------------
代码提取:
<table id="edititemtable" border='1'>
<tr>
<td colspan='2'>Item Info</td>
</tr>
<tr>
<td>Select Category: </td>
<td>
<select id='changeitemcat' name='changeitemcat'></select>
</td>
</tr>
<tr>
<td>Select SubCategory: </td>
<td>
<select id='changeitemsubcat' name='changeitemsubcat'></select>
</td>
</tr>
<div id="details" name="details">
</div>
</table>
使用的JQuery摘录
$("#edititemtable").append($("#details").load('changeitem.php?cat='+cat+'&subcat='+subcat+'&item='+item));
.load()文件的提取
while($extractdetails=$getitem->fetch(PDO::FETCH_ASSOC))
{
//Data is saved into the associated variables
echo"<tr>";
echo"<td>";
echo"Item Name";
echo"</td>";
echo"<td>";
echo"<input type='text' id='changeitemname' name='changeitemname' value=$itemname size='30' maxlength='50' />";
echo"</td>";
echo"</tr>";
echo"<tr>";
echo"<td>";
echo"Item Price";
echo"</td>";
echo"<td>";
echo"<input type='text' id='changeitemprice' name='changeitemprice' value=$itemprice size='7' maxlength='7' />";
echo"</td>";
echo"</tr>";
echo"<tr>";
echo"<td>";
echo"Item Info";
echo"</td>";
echo"<td>";
echo"<textarea class='textarea' id='changeiteminfo' name='changeiteminfo' col='10' rows='10' maxlength='300' >$iteminfo</textarea>";
echo"</td>";
echo"</tr>";
echo"<tr>";
echo"<td>";
echo'<form id="changeitem" name="changeitem" method="POST" action="">';
echo"<input type='hidden' id='changeitemid' name='changeitemid' value='$itemid' />";
echo"<input type='submit' id='changeitemsubmit' name='changeitemsubmit' value='Save Changes' />";
echo"</form>";
echo"</td>";
echo"</tr>";
}
问题
如何获得所需的格式?
为什么附加的数据被强制进入其中一个?
解决方案:
<table id="edititemtable" border='1'>
<tr>
<td colspan='2'>Item Info</td>
</tr>
<tr>
<td>Select Category: </td>
<td>
<select id='changeitemcat' name='changeitemcat'></select>
</td>
</tr>
<tr>
<td>Select SubCategory: </td>
<td>
<select id='changeitemsubcat' name='changeitemsubcat'></select>
</td>
</tr>
<tr>
<td colspan="2" id="details" name="details">
</td>
</tr>
</table>
p.s我目前正在使用HTML5和PHP
将<div>
放在<table>
中是无效的(如果它不在<tr>
和<td>
中),所以如果你试图这样做,你会看到"不正确"(就你而言)的结果。最简单的解决方案是将其从<div>
更改为<tbody>
元素,这对于位于<table>
元素内部并包含表行是完全有效的:
<table id="edititemtable" border="1">
<tr>
<td colspan="2">Item Info</td>
</tr>
<tr>
<td>Select Category:</td>
<td>
<select id="changeitemcat" name="changeitemcat"></select>
</td>
</tr>
<tr>
<td>Select SubCategory:</td>
<td>
<select id="changeitemsubcat" name="changeitemsubcat"></select>
</td>
</tr>
<tbody id="details"></tbody>
</table>
也不需要调用.append()
,因为该元素已经在表的末尾了。只需:
$('#details').load('changeitem.php?cat='+cat+'&subcat='+subcat+'&item='+item);
在html中
<table id="edititemtable" border='1'>
<tr>
<td colspan='2'>Item Info</td>
</tr>
<tr>
<td>Select Category: </td>
<td>
<select id='changeitemcat' name='changeitemcat'></select>
</td>
</tr>
<tr>
<td>Select SubCategory: </td>
<td>
<select id='changeitemsubcat' name='changeitemsubcat'></select>
</td>
</tr>
<tr>
<td colspan="2">
<table id="details" name="details" >
</table>
</td>
</tr>
</table>
js中的
$("#edititemtable").append($("#details").load('changeitem.php?cat='+cat+'&subcat='+subcat+'&item='+item));
相关文章:
- 表追加而不附加最后一个元素
- jQuery中是否内置了任何字符串格式化函数
- 将字符串转换为格式化日期
- 如何在jquery中停止在更改时追加值
- Highcharts-如何在自定义格式化程序中获得默认的y轴标签格式化程序
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 在HTML画布上格式化文本
- 用于高级文本的格式化工具
- JQuery.on(“keydown”)追加到页面时不工作
- 使用模式格式化Number类型输入中的值
- 将格式化的纯文本转换为HTML
- 如何配置WebStorm以正确格式化生成器函数
- 如何将日期字符串视为格式化数组[EYEAR,MONTH,DAY]
- 如何在谷歌可视化中组合数字和模式格式化程序
- 自定义验证并格式化从数据数据库返回的响应-BEGINNER
- jQuery[button.class]未检测到用按钮追加行
- 格式化获取请求的路由
- 如何将日期拆分为格式化的日期和时间
- 使用JQuery将load()的结果追加到表中并对其进行格式化
- jQuery 追加预格式化的串联字符串