我是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对象是垃圾。不检索表数据。请帮忙。
答案 0 :(得分:4)
要获取jQuery中输入字段的值,您需要使用.val()函数。
还要确保选择td标签中的输入元素
所以你的代码应该是这样的:
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);
答案 1 :(得分:1)
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);
答案 2 :(得分:-2)
不要占用你的大部分时间,但我认为你需要得到val()而不是text()或html()