各行がエクスポート可能なファイルを表す複数の行を含むテーブルがあります。 each()
、Firefoxの開発者コンソールを使用して自分のコードをデバッグ、今jQueryのeach()を使用してウィンドウを開きます。
$('#exports').click(function() {
var exports = $(this);
$('[id^=exportID-]').each(function() {
if (this.checked) {
window.open('ajax/get-exports.php?ExportID=' + this.id.substring(9));
}
});
});
:G:
<tr>
<th class="text-center" scope="row">
<input id="exportID-23" type="checkbox" />
</th>
<td class="text-center text-nowrap">2016-08-24</td>
<td>Name</td>
<td>City</td>
<td class="text-center text-nowrap">Person</td>
</tr>
[...]
<button id="exports" class="btn btn-success" type="button">
<span class="glyphicon glyphicon-export"></span> Export
</button>
輸出ボタンをユーザーがクリックすると、要求されたファイルのみを戻すために、私はこれを書きました期待どおりに動作します。ダウンロードごとに新しいウィンドウが表示されます。
ただし、デバッガなしで同じコードを実行すると、最後に選択した行の新しいウィンドウが開きます。
残念ながら、私はこの問題の答えを見つけることができませんでした - ここではSOやインターネットの深いところのどこにでも、私は間違って何をしていますか?
デベロッパーコンソールを開いてコードを実行すると、キャッシュの問題が解消されることがあります。 CTRL + SHIFT + DELを押してキャッシュをクリアし、開発コンソールを開かずにコードを実行してください。 –
ありがとう、@DavidR!確かにキャッシングの問題でした。 あなたのコメントを回答として追加すると、それをうれしく受け入れることになります。 :) – Yoda
既に完了! :) 間違って言及して申し訳ありませんが、SOはスペースを含むユーザー名と闘うようです - 私は自動補完を何度かクリックしましたが、保存するとクリック可能なテキストにはなりません。 :( – Yoda