2017-09-19 8 views
0

チームのボウラーの数を確認し、チームのメンバーの数を確認するページを作成しています。チームにボウラーが多すぎる場合は、アラートが表示されます。訪問者チームとホームチームのスクリプトは同じですが、ホームチームだけが適切に動作しています。間欠的に動作する動的クラスの変更

/* Clear Visitor Table (except header row) */ 
jQuery('#table_visitor tr').not(function(){ 
    return!!jQuery(this).has('th').length; }).remove(); 
if(vis.length<=bowlers_team) { 
    jQuery("#alert_window").removeClass(); 
    jQuery("#alert_window").find('span').remove(); 
    jQuery("#alert_window").empty(); 
    /* Populate the table */ 
    var table="table_visitor"; 
    for(var i=0; i<vis.length; i++) { 
     jQuery("#"+table).append('<tr><td>'+(i+1)+'</td><td>'+vis[i]['Name']+'</td><td>'+parseInt(vis[i]['curr_avg'])+'</td><td>'+vis[i]['curr_handi']+'</td></td>'); 
    } 
} else { 
console.log("Too many bowlers on Visistors.\r\n"); 
    jQuery("#alert_window").removeClass(); 
    jQuery("#alert_window").addClass("alert alert-danger"); 
    jQuery("#alert_window").find('span').remove(); 
    jQuery("#alert_window").append("<span>Teams cannot exceed "+bowlers_team+" bowlers per team.</span>"); 
} 

次に同じことが、ホームチームのために存在する:

/* Clear Home Table (except header row) */ 
jQuery('#table_home tr').not(function(){ return 
    !!jQuery(this).has('th').length; }).remove(); 
if(home.length<=bowlers_team) { 
    jQuery("#alert_window").removeClass(); 
    jQuery("#alert_window").find('span').remove(); 
    jQuery("#alert_window").empty(); 
    /* Populate the table */ 
    var table="table_home"; 
    for(var i=0; i<home.length; i++) { 
     jQuery("#"+table).append('<tr><td>'+(i+1)+'</td><td>'+home[i]['Name']+'</td><td>'+parseInt(home[i]['curr_avg'])+'</td><td>'+home[i]['curr_handi']+'</td></td>'); 
    } 
} else { 
console.log("Too many bowlers on HOme.\r\n"); 
    jQuery("#alert_window").removeClass(); 
    jQuery("#alert_window").addClass("alert alert-danger"); 
    jQuery("#alert_window").find('span').remove(); 
    jQuery("#alert_window").append("<span>Teams cannot exceed "+bowlers_team+" bowlers per team.</span>"); 
} 

私は、これはホームチームではなく、ビジターチームのために正常に動作する理由に途方に暮れてよ。私はhttps://www.bowling-tracker.com/bowl/scoresheet-generatorで見るためにこれを設定しました。唯一のリーグを選択し、次に季節として '2017 Fall'を選択することができます。第5週とどんなマッチアップ。次に、サブを家にドラッグして、どのように動作するかを確認します。その人をサブにドラッグして戻します。次にサブから訪問者をドラッグしようとすると、それは動作しないことに注意してください。アラートウィンドウは表示されません(ただし、エラーがコンソールログに表示されるため、その部分の機能に到達しています)。

あなたのご協力をお待ちしております。

答えて

0

私の最後に技術的な問題があります。

両方のコードが実際に動作していました。問題は、コードの訪問者部分にアラートが作成されたとき(クラス[alert alert-danger]とエラーメッセージに適切なスパンを追加したとき)でした。ホームチェックで

jQuery("#alert_window").removeClass(); 
jQuery("#alert_window").find('span').remove(); 

行でクリアされました。

このように、エラーがあったかどうかを格納する変数を作成しました。最後のチェックとして、アラートを入力(またはクリア)します。

関連する問題