Javascript 无jQuery或Ajax的链式选择
我使用的是XAMPP Lite-USB版本,发现jQuery链接的选择框脚本不起作用,因为它们依赖于AJAX,而AJAX在我的XAMPP上不起作用 我有两个选择框:Javascript 无jQuery或Ajax的链式选择,javascript,forms,select,chained,Javascript,Forms,Select,Chained,我使用的是XAMPP Lite-USB版本,发现jQuery链接的选择框脚本不起作用,因为它们依赖于AJAX,而AJAX在我的XAMPP上不起作用 我有两个选择框: <label>Province</label> <select name="province"> <option value="ontario">Ontario</option> <option value="quebec">Quebec</option
<label>Province</label>
<select name="province">
<option value="ontario">Ontario</option>
<option value="quebec">Quebec</option>
<option value="novascotia">Nova Scotia</option>
</select>
<label>city</label>
<select name="city">
</select>
省
安大略
魁北克省
新斯科舍省
城市
我需要能够选择一个省,并加载到“城市”名称选择不同的城市。我必须在没有jQuery或Ajax的情况下完成这项工作。仅供参考,javascript数组变量需要多长时间才能保存所有数据并不重要。我只需要有人开始与脚本我请。,没有优化,但做的工作。如前所述,没有jQuery和AJAX。这一款适用于符合标准的浏览器,你需要为IE调整它,因为我没有IE可供测试
<label>Province</label>
<select id="province">
<option value="p1">p1</option>
<option value="p2">p2</option>
<option value="p3">p3</option>
</select>
<label>city</label>
<select id="city">
</select>
window.onload = (function() {
var locations = {
'p1': [
'p1c1',
'p1c2',
'p1c3',
],
'p2': [
'p2c1',
'p2c2',
'p2c3',
],
'p3': [
'p3c1',
'p3c2',
'p3c3',
],
};
var provinces = document.getElementById('province');
var cities = document.getElementById('city');
provinces.addEventListener('change', function() {
loadCities(this.value)
}, false)
var loadCities = (function loadCitiesFunc(key) {
key = key || 'p1';
var docFragment = document.createElement('select');
for (var i = 0; i < locations[key].length; i++) {
docFragment.appendChild(new Option(locations[key][i], locations[key][i]));
}
cities.innerHTML = docFragment.innerHTML;
return loadCitiesFunc;
}())
}());
省
p1
p2
p3
城市
window.onload=(函数(){
变量位置={
“p1”:[
“p1c1”,
“p1c2”,
“p1c3”,
],
“p2”:[
“p2c1”,
“p2c2”,
“p2c3”,
],
‘p3’:[
“p3c1”,
“p3c2”,
“p3c3”,
],
};
var provides=document.getElementById('provider');
var cities=document.getElementById('city');
addEventListener('change',function()){
loadCities(此.value)
},错)
var loadCities=(函数loadCitiesFunc(键){
键=键| |“p1”;
var docFragment=document.createElement('select');
对于(变量i=0;i<位置[key]。长度;i++){
docFragment.appendChild(新选项(位置[key][i],位置[key][i]);
}
cities.innerHTML=docFragment.innerHTML;
返回加载CitiesFunc;
}())
}());
那么,到目前为止,有什么东西不起作用?为什么不能使用jQuery?使用javascript/jQuery而不使用ajax调用是可能的。。。虽然这会有点黑客——设置一个对应于每个省份的城市的js数组,并使用jQuery根据所选省份更改选择选项。它在FF和Chrome中运行良好,但在IE中运行不正常,甚至在IE9中也不正常。我没有从IE的F12开发插件中得到任何错误报告。有什么想法吗?