可以缩短这个jQuery / AJAX代码吗?

时间:2015-12-22 21:39:18

标签: javascript jquery ajax

我有以下代码使用jQuery / AJAX设置输入值。无论如何都可以缩短代码的重复次数吗?它主要是我想缩短的AJAX请求。制作如此多的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);
}});

}

});

2 个答案:

答案 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 :(得分:-1)

例如

tenancy_tenant_find_fee

tenancy_management_fee

你使用一个类,所以你可以简单地做这样的事情

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

您可以为必须使用相同值初始化的每个元素执行相同的操作。

相关问题