2011-07-30 8 views
0

私のCMSには約30種類のモジュールがありますが、以下のコードはほんの少しの変更を除いてすべてのモジュールのJavaScriptに含まれています。私が戻って何かを変えなければならない場合に備えて同じコードを何度も何度もコピーしなくて済むようにするために何かできることがあります。しかし、ページ上で異なる部分は、モジュールテンプレートという単語はモジュール名を表すため、各ページで異なるということです。 itemIDのようなものを変更することができるかどうかは分かりませんでした。すべてのファイルに対して同様のコードを変更する

$('.ask').jConfirmAction({ 
    question : "Are you sure you want to delete the selected row?", 
    yesAnswer : "Yes", 
    cancelAnswer : "No", 
    onYes: function(evt) { 
     templates(evt.target); 
    } 
}); 

$('.ask2').jConfirmAction({ 
    question : "Are you sure you want to delete all selected rows?", 
    questionClass: "question2", 
    onYes: function(evt){ 
     templatesArray(evt.target); 
    } 
}); 

function templates(whatsThis) { 
    var templateID = $(whatsThis).parents('td').find('img').attr('id'); 
    var dataString = 'templateID=' + templateID + '&deleteTemplate=True'; 

    var iRow = oTable.fnGetPosition($(whatsThis).parents('tr').get(0)); 

    $.ajax({ 
     type: "POST", 
     url: "processes/templates.php", 
     data: dataString, 
     success: function(data) { 
      if (data.errorsExist) { 
      } else { 
       oTable.fnDeleteRow(iRow);  // remove the row from the table 
       if(oTable.fnSettings().fnRecordsTotal() == 0) { 
        $('.bt_red').remove(); 
        $('.bt_blue').remove(); 
       } 
       if(oTable.fnSettings().fnRecordsTotal() <= 10) { 
        $('.bt_blue').remove(); 
       } 
      } 
     } 
    }); 
} 


function templatesArray(whatsThis) { 
    var myNewArray = new Array(); 
    var aRow = new Array(); 

    $('input:checkbox[name="templates"]:checked').each(function(i) { 
     myNewArray.push($(this).val()); 
     aRow.push($(this).closest('tr')[0]); 
    }); 
    var dataString = 'templatesArray=' + myNewArray + '&deleteTemplatesArray=True'; 
    $.ajax({ 
     type: "POST", 
     url: "processes/templates.php", 
     data: dataString, 
     success: function(data) { 
      if (data.errorsExist) { 
      } else { 
       $(whatsThis).parents("tr").eq(0).hide(); 
       for (i in aRow) // loop over the array of row indexes 
        oTable.fnDeleteRow(aRow[i]); 
       if(oTable.fnSettings().fnRecordsTotal() == 0) { 
        $('.bt_red').remove(); 
        $('.bt_blue').remove(); 
       } 
       if(oTable.fnSettings().fnRecordsTotal() <= 10) { 
        $('.bt_blue').remove(); 
       }      
      } 
     } 
    }); 

} 
+0

なぜ投稿が編集されましたか? –

+1

jqueryコードを使用しているので、jqueryタグが追加されました。 – Mrchief

答えて

1

コードはさまざまなことを行い、異なるオブジェクトにアクセスしていますonYes。私はそれを組み合わせることはできないと思う。たぶんsimialrである他の機能は可能ですが、投稿された機能ではありません。

関連する問題