如何创建 Ajax 级联/链式/从属下拉列表或选择 Box
How to create an Ajax Cascading/Chained/Dependant Dropdown list or Select Box?
我对JavaScript很陌生,我有一些基本的了解,但我的技能有限。
我需要创建一个 4 层下拉列表,其中每层都取决于前一个条目。
它将是一个汽车制造>>>汽车模型>>>>发动机尺寸>>>变体
当所有数据一起加载时,我找到了一个jquery教程,但是最终这些字段总共将有超过1000种不同的汽车变体,因此这将影响每个页面的加载时间。
在互联网上搜索解决方案时,我阅读了AJAX,这听起来像是解决我问题的理想解决方案,但我发现的大多数AJAX教程和下拉列表都与 ASP.NET 数据库有关。我不需要将其链接到数据库,我只需要依赖选择框功能
我想要的一个例子是Superchips网站,该工具位于左侧的标题为"我的车辆将如何改进?我希望重新创建类似的东西。
人们可能拥有的任何帮助或教程将不胜感激!
如果您无权访问数据库服务器,也可以使用 JSON 文件。http://www.secretgeek.net/json_3mins.asp
我建议你使用jQuery来满足这个要求。如果使用 JSON 文件,则可以使用 $.ajax 函数或 $.getJSON 函数。
这是我几周前编写的示例:
var strHtmlOutput = "";
$.getJSON('cities.json', function(data) {
// Loop over all records in the json file
$.each(data.cities, function() {
var strName = $(this).attr("name");
var strCityId = $(this).attr("id");
var strProvinceId = $(this).attr("provinceid");
strHtmlOutput += "<option value='" + strCityId + "'>";
strHtmlOutput += strName;
strHtmlOutput += "</option>";
});
});
// Appending new records in the City dropdown list
$("#strCityId").append((strHtmlOutput);
JSON 文件内容:
{
"cities": [
{
"id": "1",
"provinceid": "1",
"name": "Montreal"
},
{
"id": "2",
"provinceid": "1",
"name": "Quebec"
},
{
"id": "3",
"provinceid": "2",
"name": "Ottawa"
},
{
"id": "4",
"provinceid": "2",
"name": "Mississauga"
},
{
"id": "5",
"provinceid": "3",
"name": "Vancouver"
},
{
"id": "6",
"provinceid": "3",
"name": "Victoria"
}
]
}
希望这有帮助!
相关文章:
- 带有对象/原型的链式承诺(Q延期)
- 为什么 then() 链式方法不按顺序运行
- 不要在顺序链式承诺中包含 q 承诺结果
- 如何使用链式函数和默认函数正确返回
- 为什么要使用链式选择禁用选择选项
- Ajax加载器和链式选择框
- 如何将字符串中的链式属性转换为javascript中的变量
- 将并行和链式请求与$http.then()和$q.all()进行角度组合
- jQuery中的多个链式.on('click')事件侦听器
- jQuery 链式事件未触发
- Jasmine模拟Karma和Angular的链式方法
- 如何在RoR嵌套表单中实现链式选择
- 无法执行链式承诺
- 为什么随后的链式承诺得到解决
- 如何创建 Ajax 级联/链式/从属下拉列表或选择 Box
- AngularJS:TypeError: undefined 不是具有链式选择的函数
- 使用链式 Q 承诺异步加载的局部变量
- 具有 4 个选择选项的 Angularjs 链式选择在更改时为空
- 您如何处理链式承诺的错误
- AngularJS业力测试与链式承诺