动态创建选择元素并从 SharePoint 列表填充选项
dynamically creating select elements and populating options from sharepoint list
我写的代码可以工作,但它可能会更好。 我写出同一个函数三次,每个组合框元素一个。 我坚持如何使它更有效率。 我已经考虑过创建一个对象并将每个变量放在一个数组中,但我无法成功地让它工作。
var csCategory = <%=csCategoryArray%>,
csKeyword = <%=csKeywordArray%>,
csEntity = <%=csEntityArray%>;
addOption = function (selectbox, text, value) {
var optn = document.createElement("OPTION");
optn.text = text;
optn.value = value;
selectbox.options.add(optn);
}
$(function () {
// Temp test stuff to populate option list
var selectObj = document.getElementById("combobox1")
if (selectObj) {
for (var i=0; i < csCategory.length;++i){
addOption(selectObj, csCategory[i], csCategory[i]);
}
}
});
$(function () {
// Temp test stuff to populate option list
var selectObj = document.getElementById("combobox2")
if (selectObj) {
for (var i=0; i < csKeyword.length;++i){
addOption(selectObj, csKeyword[i], csKeyword[i]);
}
}
});
$(function () {
// Temp test stuff to populate option list
var selectObj = document.getElementById("combobox3")
if (selectObj) {
for (var i=0; i < csEntity.length;++i){
addOption(selectObj, csEntity[i], csEntity[i]);
}
}
});
显而易见的第一步是重构共享代码。所以:
$(function () {
// Temp test stuff to populate option list
var selectObj = document.getElementById("combobox2")
if (selectObj) {
for (var i=0; i < csKeyword.length;++i){
addOption(selectObj, csKeyword[i], csKeyword[i]);
}
}
});
( ... etc ... )
成为:
function populate(id, collection) {
var selectObj = document.getElementById(id)
if (selectObj) {
for (var i=0; i < collection.length;++i){
addOption(selectObj, collection[i], collection[i]);
}
}
}
$(function () {
populate ("combobox1", csCategory);
populate ("combobox2", csKeyword);
populate ("combobox3", csEntity);
});
在这个阶段,我看不到将combobox1
及其同级放入数组的任何显着优势,但如果将来添加更多组合框,则可能值得重新访问此代码。
相关文章:
- 如何将 Javascript 应用于分组的 SharePoint 列表
- 如何从sharepoint列表中使用javascript显式加载列
- 使用基于值的jQuery代码更改SharePoint列表字段颜色
- 将 SharePoint 列表数据转换为 HTML
- 提取 SharePoint 列表中的所有项目
- 使用 JavaScript 检索多个 SharePoint 列表
- 如何使用 javascript 在 SharePoint 列表中批量创建项目
- 从 SharePoint 列表列获取超链接
- 使用 Javascript 无限制地查询 SharePoint 列表项
- 使用 JavaScript 和 REST 从 SharePoint 列表中删除项目
- 将 Excel 数据导入到 SharePoint 列表中的查找列
- 如何将文本框追加到复选框列表项,该复选框列表项来自选择列表项的 SharePoint 列表
- 在 SharePoint 列表“新建项”页中创建动态查阅列
- 动态创建选择元素并从 SharePoint 列表填充选项
- 如何使用java脚本和jquery从sharepoint列表中获取数据
- 对Sharepoint列表列应用类型验证
- 使用Sharepoint列表值时未显示JS警报
- 需要帮助使用SharePoint列表和PSServices将其他系列添加到Highcharts图中
- 尝试使用SharePoint列表和Highcharts在图表上放置点
- 比较SharePoint列表中的两个int列