У меня есть следующий код, который устанавливает входные значения с помощью jQuery/AJAX. Можно ли в любом случае сократить укорочение кода? Это в основном запросы AJAX, которые я хотел бы сократить. Не кажется правильным делать так много запросов AJAX, но, несмотря на мои исследования, я не могу найти способ улучшить ситуацию.Можно ли сократить этот код jQuery/AJAX?
// set property defaults
var list_select_id = 'tenancy_property';
var initial_target = 'Please Select a Property First';
var initial_target_html_property = '<option value="">Please Select a Property First</option>';
//$('#tenancy_fixed_term').val(initial_target);
$('#tenancy_furnished').html(initial_target_html_property);
$('#tenancy_rent_amount').val(initial_target);
$('#tenancy_letting_service').html(initial_target_html_property);
$('#tenancy_tenant_find_fee_type').html(initial_target_html_property);
$('#tenancy_management_fee_type').html(initial_target_html_property);
$('#tenancy_gas').html(initial_target_html_property);
$('#tenancy_electricity').html(initial_target_html_property);
$('#tenancy_water').html(initial_target_html_property);
$('#tenancy_oil').html(initial_target_html_property);
$('#tenancy_telephone').html(initial_target_html_property);
$('#tenancy_broadband').html(initial_target_html_property);
$('#tenancy_tv_licence').html(initial_target_html_property);
$('#tenancy_sat_cable_tv').html(initial_target_html_property);
$('#tenancy_council_tax').html(initial_target_html_property);
$('#tenancy_service_charge').html(initial_target_html_property);
$('#tenancy_ground_rent').html(initial_target_html_property);
$('#tenancy_pets').html(initial_target_html_property);
$('#tenancy_smoking').html(initial_target_html_property);
$('#tenancy_deposit_amount').val(initial_target);
$('#tenancy_tenant_find_fee').val(initial_target);
$('#tenancy_management_fee').val(initial_target);
$('#'+list_select_id).change(function(e) {
var selectvalue = $(this).val();
//$('#tenancy_fixed_term').val('Loading...');
$('#tenancy_furnished').html('<option value="">Loading...</option>');
$('#tenancy_rent_amount').val('Loading...');
$('#tenancy_letting_service').html('<option value="">Loading...</option>');
$('#tenancy_tenant_find_fee_type').html('<option value="">Loading...</option>');
$('#tenancy_management_fee_type').html('<option value="">Loading...</option>');
$('#tenancy_gas').html('<option value="">Loading...</option>');
$('#tenancy_electricity').html('<option value="">Loading...</option>');
$('#tenancy_water').html('<option value="">Loading...</option>');
$('#tenancy_oil').html('<option value="">Loading...</option>');
$('#tenancy_telephone').html('<option value="">Loading...</option>');
$('#tenancy_broadband').html('<option value="">Loading...</option>');
$('#tenancy_tv_licence').html('<option value="">Loading...</option>');
$('#tenancy_sat_cable_tv').html('<option value="">Loading...</option>');
$('#tenancy_council_tax').html('<option value="">Loading...</option>');
$('#tenancy_service_charge').html('<option value="">Loading...</option>');
$('#tenancy_ground_rent').html('<option value="">Loading...</option>');
$('#tenancy_pets').html('<option value="">Loading...</option>');
$('#tenancy_smoking').html('<option value="">Loading...</option>');
$('#tenancy_deposit_amount').val('Loading...');
$('#tenancy_tenant_find_fee').val('Loading...');
$('#tenancy_management_fee').val('Loading...');
if (selectvalue == "" || !selectvalue || selectvalue.length === 0) {
//$('#tenancy_fixed_term').val(initial_target);
$('#tenancy_furnished').html(initial_target_html_property);
$('#tenancy_rent_amount').val(initial_target);
$('#tenancy_letting_service').html(initial_target_html_property);
$('#tenancy_tenant_find_fee_type').html(initial_target_html_property);
$('#tenancy_management_fee_type').html(initial_target_html_property);
$('#tenancy_gas').html(initial_target_html_property);
$('#tenancy_electricity').html(initial_target_html_property);
$('#tenancy_water').html(initial_target_html_property);
$('#tenancy_oil').html(initial_target_html_property);
$('#tenancy_telephone').html(initial_target_html_property);
$('#tenancy_broadband').html(initial_target_html_property);
$('#tenancy_tv_licence').html(initial_target_html_property);
$('#tenancy_sat_cable_tv').html(initial_target_html_property);
$('#tenancy_council_tax').html(initial_target_html_property);
$('#tenancy_service_charge').html(initial_target_html_property);
$('#tenancy_ground_rent').html(initial_target_html_property);
$('#tenancy_pets').html(initial_target_html_property);
$('#tenancy_smoking').html(initial_target_html_property);
$('#tenancy_deposit_amount').val(initial_target);
$('#tenancy_tenant_find_fee').val(initial_target);
$('#tenancy_management_fee').val(initial_target);
} else {
//Make AJAX request, using the selected value as the GET
//$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_fixed_term',
//success: function(output) {
//$('#tenancy_fixed_term').val(output);
//},
//error: function (xhr, ajaxOptions, thrownError) {
//alert(xhr.status + " "+ thrownError);
//}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_furnished',
success: function(output) {
$('#tenancy_furnished').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_rent_amount',
success: function(output) {
$('#tenancy_rent_amount').val(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_letting_service',
success: function(output) {
$('#tenancy_letting_service').html(output);
$('#tenancy_letting_service').change();
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_tenant_find_fee_type',
success: function(output) {
$('#tenancy_tenant_find_fee_type').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_management_fee_type',
success: function(output) {
$('#tenancy_management_fee_type').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_gas',
success: function(output) {
$('#tenancy_gas').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_electricity',
success: function(output) {
$('#tenancy_electricity').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_water',
success: function(output) {
$('#tenancy_water').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_oil',
success: function(output) {
$('#tenancy_oil').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_telephone',
success: function(output) {
$('#tenancy_telephone').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_broadband',
success: function(output) {
$('#tenancy_broadband').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_tv_licence',
success: function(output) {
$('#tenancy_tv_licence').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_sat_cable_tv',
success: function(output) {
$('#tenancy_sat_cable_tv').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_council_tax',
success: function(output) {
$('#tenancy_council_tax').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_service_charge',
success: function(output) {
$('#tenancy_service_charge').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_ground_rent',
success: function(output) {
$('#tenancy_ground_rent').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_pets',
success: function(output) {
$('#tenancy_pets').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_smoking',
success: function(output) {
$('#tenancy_smoking').html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_deposit_amount',
success: function(output) {
if (output!='0.00') {
$('#tenancy_deposit_amount').val(output);
$("#tenancy_deposit_required").val('1');
$('tr[id=tenancy_deposit_amount_tr], tr[id=tenancy_deposit_protection_responsible_tr], tr[id=tenancy_deposit_protection_scheme_tr]').css({
'display': 'table-row'
});
$('fieldset[id=deposit_contributors_all]').css({
'display': 'block'
});
}
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_tenant_find_fee',
success: function(output) {
$('#tenancy_tenant_find_fee').val(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
//Make AJAX request, using the selected value as the GET
$.ajax({url: '../ajax/tenancy_defaults.php?property_id='+selectvalue+'&request=tenancy_management_fee',
success: function(output) {
$('#tenancy_management_fee').val(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
}
});
Рабочий код, который вы хотите улучшить, должен быть опубликован на http://codereview.stackexchange.com, а не здесь. – jfriend00
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он принадлежит http://codereview.stackexchange.com – jfriend00
Извините, есть способ, которым я могу его перенести? –