gpt4 book ai didi

Javascript - 单击每个选项循环选择选项

转载 作者:行者123 更新时间:2023-12-03 12:18:48 25 4
gpt4 key购买 nike

我正在尝试浏览包含 200 多个条目的选择列表,然后单击每个条目。单击某个元素时,它会执行 selectCountry() 函数,该函数会向表中添加一行。我想让它创建一个包含所选每个选项的表。感兴趣的页面位于:http://www.world-statistics.org/result.php?code=ST.INT.ARVL?name=International%20tourism,%20number%20of%20arrivals .

到目前为止,我有以下内容,但似乎不起作用:

var sel = document.getElementById('selcountry');
var opts = sel.options;
for(var opt, j = 0; opt = opts[j]; j++) {selectCountry(opt.value)}

我正在尝试在 Chrome 的控制台中执行此操作。

最佳答案

开发工具最有用的功能之一是,当您编写函数名称时,您将获得其源代码。以下是 selectCountry 函数的源代码:

function selectCountry(select) { 
if (select.value == "000") return;
var option = select.options[select.selectedIndex];
var ul = select.parentNode.getElementsByTagName('ul')[0];
var choices = ul.getElementsByTagName('input');
for (var i = 0; i < choices.length; i++)
if (choices[i].value == option.value) {
$("#selcountry:selected").removeAttr("selected");
$('#selcountry').val('[]');
return;
}
var li = document.createElement('li');
var input = document.createElement('input');
var text = document.createTextNode(option.firstChild.data);
input.type = 'hidden';
input.name = 'countries[]';
input.value = option.value;
li.appendChild(input);
li.appendChild(text);
li.onclick = delCountry;
ul.appendChild(li);
addCountry(option.firstChild.data, option.value);
$("#selcountry:selected").removeAttr("selected");
$('#selcountry').val('');
}

你的缺陷现在很明显了。 selectCountry 接受整个select 元素 作为参数,而不是select 的值 (这是一个糟糕的设计,但是嗯)。不传递元素的值,而是更改其索引:

var sel = document.getElementById('selcountry');
var opts = sel.options;
for(var i = 0; i < opts.length; i++) {
sel.selectedIndex = i
selectCountry(sel)
}

关于Javascript - 单击每个选项循环选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24542377/

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