根据输入的车牌号 自动判断 所属省份 和 城市
例如 我输入皖A85294 自动选择安徽省合肥市 的示例,语言功底不好,直接贴代码了哈
/**加载省份城市和区域的信息***/
function loadSuccessProAndCity() {
$.ajax({
url: ctx + '/sys/region/authc_json/provinceAppInfo.shtml',
async: false,
type: 'POST',
dataType: 'json',
success: function (data) {
if (data) {
var provinceApp_json = data.data;
var provinceApp = $("#addVehicleForm #provinceId");
provinceApp.empty();
provinceApp.append('<option value="-1">---请选择---</option>');
var cityId = $("#addVehicleForm #cityId");
cityId.empty();
cityId.append('<option value="-1">---请选择---</option>');
var provinceApp_length = provinceApp_json.length;
for (var i = 0; i < provinceApp_length; i++) {
var province = provinceApp_json[i];
var alias = province.alias ;
if(alias==undefined){
alias='';
}else{
alias = '[' +alias+ ']' ;
}
provinceApp.append('<option value="' + province.id + '"> ' + province.name + alias + '</option>');
}
provinceApp.select2();
provinceApp.on('change', function (e) {
var selected = $(this).find("option:selected").val();
if (selected == "-1") {
var cityId = $("#addVehicleForm #cityId");
cityId.empty();
cityId.append('<option value="-1">---请选择---</option>');
} else {
var cities = new Array();
$.ajax({
url: ctx + '/sys/region/authc_json/cityAppInfo.shtml?pid=' + selected,
async: false,
type: 'POST',
dataType: 'json',
success: function (data) {
if (data) {//改汽车品牌下面有系列
cities = data.data;
}
}
});
var cityId = $("#addVehicleForm #cityId").empty();
if (cities.length > 0) {
cityId.append('<option value="-1">---请选择---</option>');
for (var j = 0; j < cities.length; j++) {
var cityApp = cities[j];
var alias = cityApp.alias ;
if(alias==undefined){
alias='';
}else{
alias = '[' +alias+ ']' ;
}
var reg = /^#[a-zA-Z]+#/;
cityId.append('<option value="' + cityApp.id + '">' + cityApp.name.replace(reg, "") + alias +'</option>');
}
cityId.select2();
}
}
});
}
}
});
}
//根据车牌号首字母自动设置select 的省份和城市选中
$("#addVehicleForm #licenseNo").blur(function(){
var licenseNo = $(this).val();
var firstOne = licenseNo.charAt(0);
var secondOne = licenseNo.charAt(1);
$("#addVehicleForm #provinceId").find(":contains('["+firstOne+"]')").attr('selected',true).trigger('change');
$("#addVehicleForm #cityId").find(":contains('["+secondOne+"]')").attr('selected',true).trigger('change');
})
// 如果知道 select 下拉框需要选择的val 直接采用这种赋值方式即可
$("#addVehicleForm #provinceId option:first").prop("selected", 'selected');
$("#addVehicleForm #provinceId").trigger('change.select2');
$("#addVehicleForm #cityId").empty();
$("#addVehicleForm #cityId").append('<option value="-1">---请选择---</option>');
做法,第一步先加载下拉框的省份数据,根据省份的change 自动发送ajax 到后台请求市区的数据即可。之后车牌号中如果输入皖A自动选中安徽省合肥市