我对JavaScript比较陌生并遇到问题我希望你能提供帮助
我想做的是这个
$("tr:not(:first-child)").each(function(){
var sitename = $("this" + "td:nth-child(1)").text();
var type= $("this" + "td:nth-child(2)").text();
var address= $("this" + "td:nth-child(3)").text();
var city= $("this" + "td:nth-child(4)").text();
var lat= $("this" + "td:nth-child(5)").text();
var long= $("this" + "td:nth-child(6)").text();
var ftime= $("this" + "td:nth-child(7)").text();
$.post('./watchdog.php',{ oadata: sitename});
}).end().remove();
我在一个表中选择“tr”,除了第一个包含“th”的表。然后我只是剥离td并将文本值赋给变量。最后,我将这些数据发布到一个基本上将其插入MySQL数据库的PHP脚本中。问题是我在数据库中不断获取NULL值。
这是我在HTML中生成的表
Site Name Type Address City Lat Long Fault Time
ISB056 Spur Opposite Plot No. 435, Sector I-10/4 Islamabad 73.04393 33.64677 12:02 PM
ISB078 Spur SEECS NUST H-12 Islamabad Islamabad 72.990044 33.64246 12:02 PM
答案 0 :(得分:0)
此
$("this" + "td:nth-child(1)").text()
生成完全没有意义的选择器thistd:nth-child(1)
。我想你想要:
$(this).find("td:nth-child(1)").text()
但更容易的是只需要一个数组
var data = $(this).children('td').map(function() {
return $(this).text();
}).get();
然后发送数据
$.post('./watchdog.php',{ sitename: data[0], type: data[1],...});
答案 1 :(得分:0)
您不能使用'this'
,而是this
,请删除引号。
你也应该使用类。
<tr class="site">
<td class="sitename">...</td>
...
</tr>
这将使您的代码更易于阅读和调试:
$("tr.site").each(function(){
var sitename = $(".sitename",this)
})