【发布时间】:2018-03-27 00:56:41
【问题描述】:
我正在循环 Ajax 结果并将 JSON 填充到 select 框中,但并非每个 JSON 结果都是唯一的,有些包含相同的值。
我想在循环迭代时检查select 框中是否已经包含一个值,如果一个值相同,则不要再次打印它,但由于某种原因我的if 检查是不工作?
for (var i = 0; i < result.length; i++) {
var JsonResults = result[i];
var sourcename = JsonResults.Source.DataSourceName;
if ($('.SelectBox').find('option').text != sourcename) {
$('.SelectBox').append('<option>' + sourcename + '</option>');
}
}
【问题讨论】:
-
您应该修复该 JSON 的创建不包含 dup。
-
$('.SelectBox').find('option').text()只会返回第一个选项的文本。此循环不会告诉您该文本是否已经存在选项。 -
你为什么不直接从数组中删除重复项,
result = $.unique(result)? -
你为什么不在选项中设置值?为什么你更喜欢选项文本作为选择器?
标签: javascript jquery html loops