У меня есть несколько разделов кода в JavaScript, которые мне нужно упростить. Переменные и большая часть логики одинаковы в каждом из четырех разделов, как я могу ее упростить?Повторный раздел JavaScript - как консолидировать?
$(document).ready(function() {
$("#search").click(function (e) {
var ifecha = $("#to").val();
var efecha = $("#from").val();
var prov = $("#CustomerID").val();
var stat = $("#status").val();
if (stat != "Select an Option") {
stat = stat;
}
else {
stat = 3;
}
var anul = $("#anulada").val();
if (anul != "Select an Option") {
anul = anul;
}
else {
anul = "";
}
$.ajax({
type: "GET",
data: { to: ifecha, from: efecha, code: prov, anulada: anul, status: stat, take: 0 },
url: '@Url.Action("proposalReport")',
dataType: "html",
success: function (result) { success(result); }
});
function success(result) {
$("#dataReport").html(result);
}
e.preventDefault();
});
$("#pdf").click(function (e) {
var ifecha = $("#to").val();
var efecha = $("#from").val();
var prov = $("#CustomerID").val();
var stat = $("#status").val();
if (stat != "Select an Option") {
stat = stat;
}
else {
stat = 3;
}
var anul = $("#anulada").val();
if (anul != "Select an Option") {
anul = anul;
}
else {
anul = "";
}
var rep = "PDF"
e.preventDefault();
window.location = 'PrintPDF?report=' + rep + '&to=' + ifecha + '&from=' + efecha + '&code=' + prov + '&anulada=' + anul + '&status=' + stat;
});
$('#lnkView').click(function (e) {
var ifecha = $("#to").val();
var efecha = $("#from").val();
var prov = $("#CustomerID").val();
var stat = $("#status").val();
if (stat != "Select an Option") {
stat = stat;
}
else {
stat = 3;
}
var anul = $("#anulada").val();
if (anul != "Select an Option") {
anul = anul;
}
else {
anul = "";
}
e.preventDefault();
window.open('ReportPrint?to=' + ifecha + '&from=' + efecha + '&code=' + prov + '&anulada=' + anul + '&status=' + stat);
});
$("#excel").click(function (e) {
var ifecha = $("#to").val();
var efecha = $("#from").val();
var prov = $("#CustomerID").val();
var stat = $("#status").val();
if (stat != "Select an Option") {
stat = stat;
}
else {
stat = 3;
}
var anul = $("#anulada").val();
if (anul != "Select an Option") {
anul = anul;
}
else {
anul = "";
}
var rep = "PDF"
e.preventDefault();
window.location = 'ExportToXLS?report=' + rep + '&to=' + ifecha + '&from=' + efecha + '&code=' + prov + '&anulada=' + anul + '&status=' + stat;
});
});
var sorter_options = {
headers: {
3: { sorter: 'datetime' },
4: { sorter: 'decimal' },
5: { sorter: 'decimal' }
}
}
Может значение элементов (#to, #from, #CustomerID, #status) изменится или останется неизменным после загрузки страницы? – chiapa
Изменить @chiapa, см. Решение от Джеймса, спасибо, что спросил моего друга –
Да, отличный ответ. +1 для James – chiapa