选择td的值并下载所选tds的内容

时间:2012-11-16 22:53:21

标签: javascript jquery

我有这张桌子:

<table class="results" id="summary_results">
   <tr>
       <td>select all</td>
       <td>name</td>
       <td>id</td>
       <td>address</td>
       <td>url</td>
   </tr>
   <tr>
       <td>
           <input type="checkbox">
       </td>
       <td>john doe</td>
       <td>1</td>
       <td>33.85 some address</td>
       <td>http://www.domain.com</td>
   </tr>
   <tr>
       <td>
         <input type="checkbox">
       </td>
       <td>jane doe</td>
       <td>2</td>
       <td>34.85 some address</td>
       <td>http://www.domain2.com</td>
   </tr>
   <tr>
       <td>
           <input type="checkbox">
       </td>
       <td>sam</td>
       <td>3</td>
       <td>33.86 some address</td>
       <td>http://www.domain3.com</td>
  </tr>
</table>

我想选择所有行,然后下载URL的内容,知道每个URL都链接到ID。例如,第一个网址为www.domain.com?id=1&report=report

好吧现在我让select工作但它只取第一个tr的值而不是其他选择的值。

1 个答案:

答案 0 :(得分:0)

我认为这里的主要问题是客户端javascript实际上并不是最合适的方法来实现你想要实现的目标。从表中解析URL并与它们形成AJAX请求本身并不是很棘手,例如参见this jsfiddle。然而正如wsanville在评论中所指出的,对AJAX存在跨域限制,限制了对任意URL进行调用的能力。

如果您不想离开页面,那么更可行的方法是检索jsfiddle中使用的方法中的URL,然后将该列表发布到您自己的服务器。然后,您将能够在将数据发送回用户之前检索服务器上的URL数据并执行更复杂的操作。有点像:

$.ajax({
  url:'/load_urls', //this is assuming you have some routing for the load_urls endpoint
  data:urls, //assuming you have the list of urls in a var called 'urls'
  method:'POST',
  success:function(data){
    //do something with your data
  },
  error:function(err){
    console.log(err); //it broke
  }

});

我认为总的来说,您应该退后一步,重新评估您想要发生的事情,并查看您要检索的URL的限制等等,之后如果您是仍然不知所措,回答一个更具体的问题。祝你好运!