2016-08-24 4 views
2

各行がエクスポート可能なファイルを表す複数の行を含むテーブルがあります。 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やインターネットの深いところのどこにでも、私は間違って何をしていますか?

+1

デベロッパーコンソールを開いてコードを実行すると、キャッシュの問題が解消されることがあります。 CTRL + SHIFT + DELを押してキャッシュをクリアし、開発コンソールを開かずにコードを実行してください。 –

+0

ありがとう、@DavidR!確かにキャッシングの問題でした。 あなたのコメントを回答として追加すると、それをうれしく受け入れることになります。 :) – Yoda

+0

既に完了! :) 間違って言及して申し訳ありませんが、SOはスペースを含むユーザー名と闘うようです - 私は自動補完を何度かクリックしましたが、保存するとクリック可能なテキストにはなりません。 :( – Yoda

答えて

1

デベロッパーコンソールを開い持つとあなたのコードを実行するには、多くの場合、キャッシュの問題を解消します。 CTRL + SHIFT + DELを実行して、キャッシュをクリアして、デベロッパーコンソールを開かずにコードを実行してみてください。

希望すると便利です。

関連する問題