2014-02-13 53 views
1

我遇到了麻烦的Ajax响应。jquery Ajax获取Div

我的PHP文件生成表

<div class="result"> 
     <tr class="distr"> 
      <td><input name="somename" value="value"></input</td> 
      <td>..more input</td> 
      ...more <tds> 
     </tr> 
    <div> 

js文件

//...unrelated code up here 

$.ajax({ 
    type: "POST", 
    url: "myphpfile.php", 
    data: "data that creates table", 
    success: function(r) { 
     var getdata = $(r).filter(".result"); 
     console.log(getdat); 
    } 
}); 

我的主要文件有

<table class="tbl"> 
    <tr> 
     <td><input></input></td> 
     ... 
    </tr> 
</table> 

我试图让所生成的表通过我的PHP文件被追加到

<table class="tbl"> 

,但我得到的回应是唯一

<input>...</input> 
<input>...</input> 
some other div children here 
<input>...</input> 
some text 

,而不是一切都在

<div class="result"> 

有人能向我解释如何工作的。 我也试过.find(“。result”)而不是.filter() 哦,我不想让div返回,只是它里面的表。

对不起,如果这很难理解,所有这些看起来很奇怪,因为我正在打字。

由于使用jQuery.get()

$.get("myphpfile.php", { param1: "p1", param2: "p2" }) 
    .done(function(data) { 
    var content = $(data).find(".result"); 
}); 

更新

+0

为什么你可以使用'table'将'tr'放入'div'中? – kapa

+0

对不起,它是在一张桌子,我只是忘了把它放在这里。 – sumguysk8

+1

啊,我再次检查,是的,我没有在那里的桌子。我猜它跳过了和​​,因为没有表格,它现在可以工作,使用了Div而没有想到,所以很容易过滤它,但是没有期待这个结果,现在Works,谢谢 – sumguysk8

回答

0

替换您divtable,所以这将是正确的HTML。

-1

尝试:

$(".result").load("myphpfile.php .result", { param1: "p1", param2: "p2" }) 
+0

我已经试过了,因为某些原因,当我使用.find()它不会返回任何东西。 – sumguysk8

+0

请检查更新的答案。我在我的项目中使用了这个。希望这可以工作 – Rokas