gpt4 book ai didi

javascript - 循环时检查选择框中的值

转载 作者:行者123 更新时间:2023-11-28 00:47:47 26 4
gpt4 key购买 nike

我正在遍历 Ajax 结果并在 select 框中填充 JSON,但并非每个 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>');
}
}

最佳答案

text()是方法,所以需要括号,返回所有<option>的文本串联。有更好的方法可以做到这一点,但与您的方法类似的方法可以是使用一个变量来保存所有添加的文本,这样我们就可以检查这个变量,而不必检查 <option>。元素:

var result = ["first", "second", "first", "third", "second"];

var options = {};
for (var i = 0; i < result.length; i++) {
var JsonResults = result[i];
var sourcename = JsonResults; //JsonResults.Source.DataSourceName;

if (!options[sourcename]) {
$('.SelectBox').append('<option>' + sourcename + '</option>');
options[sourcename] = true;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select class="SelectBox"></select>

注意:我只用了var sourcename = JsonResults;对于演示。请改用您的原始行。

关于javascript - 循环时检查选择框中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49502843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com