0

私はこのテーブルを持っています:

<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がIDにリンクされていることを確認してURLのコンテンツをダウンロードしたいと思います。たとえば、最初のURLはwww.domain.com?id=1&report=report

さて、これで選択が機能するようになりましたが、最初のtrの値のみを取得し、他の選択された値は取得していません。

4

1 に答える 1

0

ここでの主な問題は、クライアント側のjavascriptが、達成しようとしているように見えることを実行するための最も適切な方法ではないということだと思います。テーブルからURLを解析し、それらを使用してAJAXリクエストを作成すること自体は、それほど難しいことではありません。たとえば、この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の制約などを確認し、その後、まだ損失は​​、より具体的な質問で戻ってきます。幸運を!

于 2012-11-16T23:45:06.193 に答える