使用 for 循环用逗号分隔的值填充选择元素
Populating a select element with comma-separated values using for loop
我在 JSON 文件中存储了一堆逗号分隔的值作为字符串。我的目标是拆分这些值以填充基于 Selectize.js 的选择元素。代码(摘录)如下所示:
var options = {};
var attr_split = data.attributes['Attribute1'].split(",");
var options_key;
for (var i = 0; i < attr_split.length; i++) {
options_key = attr_split[i]
}
var options_values = {
value: options_key,
text: options_key,
}
if (options_key in options)
options_values = options[options_key];
options[options_key] = options_values;
$('#input').selectize({
options: options,
});
尽管这似乎有效,但 select 元素中的输出仅显示 for 循环完成的最后一次迭代。根据这里在这里,我试过
for (var i = 0; i < attr_split.length; i++) {
var options_key += attr_split[i]
}
但这让我无法定义以及所有没有分隔符的串联字符串,如以下示例所示:
undefinedAttr1Attr2Attr3
当我简单地使用数组元素的手动输入来测试循环时,一切看起来都很好:
for (var i = 0; i < attr_split.length; i++) {
var options_key = attr_split[0] || attr_split[1] || attr_split[2]
}
但这不是要走的路,因为每个字符串的元素数量不同。
知道我在这里做错了什么吗?我感觉这是一件非常简单的事情:)
当你声明'options_key"时,你没有初始化 it.so 它的值是undefined
.当你连接options_key += attr_split[i]
.in第一次迭代时,options_key
保持undefined
.所以只有你得到undefinedAttr1Attr2Attr3
。
所以声明并初始化options_key
喜欢。
var options_key="";
在你的循环中
for (var i = 0; i < attr_split.length; i++)
{
options_key = attr_split[i]
}
每次将 options_key
替换为 attr_split[i]
.so 的值时,循环后它将包含最后一个元素值。更正后的代码是
for (var i = 0; i < attr_split.length; i++)
{
options_key += attr_split[i]
}
只需将var options_key;
更改为var options_key="";
未定义的原因是因为您没有正确定义变量。
这是一个工作示例
var attr_split = "1,2,3,4".split(",");
var options_key="";
for (var i = 0; i < attr_split.length; i++) {
options_key += attr_split[i]
}
alert(options_key);
var options_values = {
value: options_key,
text: options_key
}
alert(options_values);
相关文章:
- 预填充选择菜单
- 使用javascript填充选择框
- Angularjs 通过选择不同选择框中的两个字段来填充选择框
- 使用 ajax 填充选择时没有选定的默认选项的问题
- 使用数组中的选项填充选择菜单
- 使用循环填充选择
- 使用 for 循环用逗号分隔的值填充选择元素
- 从另一个选择框并使用数据库连接填充选择框
- 使用对象(JavaScript或jQuery)填充选择下拉列表
- 根据预选,用值填充选择列表
- 用文本输入填充选择输入
- JQuery以基于另一个选择列表填充选择列表
- 如何java脚本填充2选择一个
- jqGrid基于先前的选择填充选择选项
- PHP通过URL自动填充选择框
- Jquery 移动干扰 JavaScript 填充选择框
- 使用 jquery 填充选择选项失败
- 如何使用切换的传单图层组中的标记填充选择
- jquery未填充选择
- 根据更改事件填充选择下拉列表