2015-12-22 2 views
0

У меня есть следующий код, который устанавливает входные значения с помощью 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); 
}}); 

} 

}); 
+4

Рабочий код, который вы хотите улучшить, должен быть опубликован на http://codereview.stackexchange.com, а не здесь. – jfriend00

+5

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он принадлежит http://codereview.stackexchange.com – jfriend00

+0

Извините, есть способ, которым я могу его перенести? –

ответ

1

Вы можете выбрать несколько элементов с помощью jquery. Долгий путь:

$('#tenancy_furnished').html(initial_target_html_property); 
$('#tenancy_letting_service').html(initial_target_html_property); 

могут быть сцеплены:

$('#tenancy_letting_service,#tenancy_furnished').html(initial_target_html_property); 

Короткий ответ на ваш вопрос: да.

-1

Что делать, если, например

tenancy_tenant_find_fee 

и

tenancy_management_fee 

используется класс, так что вы можете просто сделать что-то подобное

$(".tenancyTestClass").val(value); 

Вы можете сделать то же самое для всех элемент, который должен быть инициализирован с тем же значением.

Смежные вопросы