我只想让我的jQuery函数只运行一次。我正在使用国家,州/城市下降。因此,当用户选择任何国家/地区时,它会显示城市/州。但最初它没有显示任何内容,所以我在document.ready上调用它。但问题是,每次都是第一个乡村城市。那么有什么解决方案吗?或者你可以建议任何其他国家,城市下降。
下拉代码是
function print_country(country_id){
// given the id of the <select> tag as function argument, it inserts <option> tags
var option_str = document.getElementById(country_id);
var x, i=0;
for(x in country_arr){
option_str.options[i++] = new Option(country_arr[x],country_arr[x]);
}
}
function print_state(state_id, state_index){
var option_str = document.getElementById(state_id);
var x, i=0; state_index++;
var state_arr = s_a[state_index].split("|");
for(x in state_arr){
option_str.options[i++] = new Option(state_arr[x],state_arr[x]);
}
}
您也可以对其进行修改,以便在页面加载默认情况下显示的第一个国家/地区的引用。感谢
答案 0 :(得分:0)
你现在应该使用jQuery
function print_country(country_id){
// given the id of the <select> tag as function argument, it inserts <option> tags
var countrySel = $("#"+country_id);
// create a "singleton" by returning if the state exists
if (countrySel.size() > 1) return;
$.each(country_arr,function() {
countrySel.append('<option value="'+$(this)+'">'+$(this)+'</option>');
});
// call it with the second option (assuming "Please select")
// change to ,0 for first option
print_state("state", 1);
}
function print_state(state_id, state_index){
var stateSel = $("#"+state_id);
var state_arr = s_a[state_index].split("|");
$.each(state_arr,function() {
stateSel.append('<option value="'+$(this)+'">'+$(this)+'</option>');
});
}