使用 Jquery 获取 HTML 表数据
Getting HTML table data using Jquery
我是Jquery的新手。首先,我想说我已经研究了将近一天的关于这个查询。尝试了许多方法,但没有一种有效。我正在尝试使用HTML,PHP和Jquery编写计费模块。到目前为止,我已经成功地创建了 HTML 表。我希望这些表中的数据检索到 PHP 页面,以便我可以用正确的格式打印它们。
HTML 表如下所示。
<table id="items">
<tbody>
<tr>
<th>SlNo</th>
<th>Item</th>
<th>Unit Cost</th>
<th>Quantity</th>
<th>Price</th>
</tr>
<tr class="item-row">
<td class="item-name">
<div class="delete-wpr">
<input type="text" class="slno"/>
<a class="delete" href="javascript:;" title="Remove row">X</a>
</div>
</td>
<td><input type="text" class="slno"/></td>
<td><input type="text" class="cost"/></td>
<td><input type="text" class="qty"/></td>
<td><span class="price"></span></td>
</tr>
<input type="button" value="submit" onClick="storeAndShowTableValues()"/>
<tbody>
现在,Jquery如下。
var TableData = new Array();
$('#items tr').each(function(row, tr){
TableData[row]={
"ItemNum" : $(tr).find('td:eq(0)').text(),
"Itemname" :$(tr).find('td:eq(1)').text(),
"unitprice" : $(tr).find('td:eq(2)').text(),
"Qty" : $(tr).find('td:eq(3)').text(),
"price" : $(tr).find('td:eq(4)').text()
}
}
);
TableData.shift(); // first row is the table header - so remove
var TableData = JSON.stringify(TableData);
但是我得到的 JSON 对象是垃圾。不检索表数据。请帮忙。
要在jQuery中获取输入字段的值,您需要使用.val()函数。
还要确保在 td 标签中选择输入元素
http://api.jquery.com/val/
所以你的代码应该看起来像这样:
var TableData = new Array();
$('#items tr').each(function(row, tr){
TableData[row]={
"ItemNum" : $(tr).find('td:eq(0) input').val(),
"Itemname" :$(tr).find('td:eq(1) input').val(),
"unitprice" : $(tr).find('td:eq(2) input').val(),
"Qty" : $(tr).find('td:eq(3) input').val(),
"price" : $(tr).find('td:eq(4)').text()
}
}
);
TableData.shift(); // first row is the table header - so remove
TableData = JSON.stringify(TableData);
var TableData = new Array();
$('#items tr').each(function(row){
TableData[row]={
"ItemNum" : $(this).find('td:eq(0) input').val(),
"Itemname" :$(this).find('td:eq(1) input').val(),
"unitprice" : $(this).find('td:eq(2) input').val(),
"Qty" : $(this).find('td:eq(3) input').val(),
"price" : $(this).find('td:eq(4) input').val(),
}
}
);
TableData.shift(); // first row is the table header - so remove
var TableData = JSON.stringify(TableData);
不要花太多时间,但我认为你需要获取 val() 而不是 text() 或 html()
相关文章:
- 如何将json数据显示为html
- 使用html中的外部javascript进行数据验证
- 无法将数据从firebase获取到我的html页面
- JS验证ajax返回的html中的表单数据
- 将HTML表格导出到excel时,无法将数据加载到excel文件中
- 编辑HTML表的源数据
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 在页面呈现之前更改HTML数据
- 如何放置'选择'基于angularJS中数据的html选项
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- AngularJS-需要在index.html页面中访问来自服务的数据
- AngularJS加载JSON数据,然后从中解析/加载HTML
- tu如何将id放在填充了json数据的html表td上
- 在HTML页面上显示node.js服务器中的数据
- 函数jquery.html()不提供数据属性集值
- 从远程站点获取数据 - HTML 表
- 如何保存和访问复选框数据 HTML
- 在下拉列表中显示保存的数据 - html 选择标签
- 避免使用jQuery显示的数据.html在页面重新加载后丢失
- 使用javascript根据元素的数据html将类附加到元素中