2015-12-22 63 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); 

你可以做到對每個人都是一樣的東西元素必須使用相同的值進行初始化。