动态生成的 select(下拉)列表中的 Select 选项

Select option in dynamically generated select (dropdown) list

我正在使用两个下拉列表的组合 (select)。根据用户在第一个列表中所做的选择,第二个列表中会填充

$("#second-choice").load("textdata/" + $('#first-choice').val() + ".txt")来电。在网页的另一部分使用相同的列表组合,我将用户创建的 selections 保存为索引(第一个选择保存为 0 等)。然后我通过 nth-child(whatIhaveSaved) 重新填充和 select 用户的选择。

然而,我无法做的是在第二个列表中创建此 selection(即它加载列表数据,但不 select 任何东西,无论值如何它读取)。对此可以做些什么?

我无法添加更多代码,所以本质上发生的事情和我想做的是:

 $("#first-choice").change(function() {
        $("#second-choice").load("textdata/" + $(this).val() + ".txt");
    });

我想保存的所有其他设置,使用以下方法效果很好:

$('#first-choice option:nth('+ parseInt(savedPresets[0]) +')').attr("selected","selected");

例如,应用此设置后,第二个列表也会被填充。但是,以下对第二个列表的类似调用似乎被忽略了。

不幸的是,我对jQuery

没有太多经验

一个问题是 load() 是一个 ajax 方法而 ajax 是异步的。

这意味着如果您想与新的 html 交互,您必须在收到 html 后触发的成功回调中执行此操作

$("#first-choice").change(function() {
      $("#second-choice").load("textdata/" + $(this).val() + ".txt", function(){    
       // new html exists can work with it here

      });

     // any code here will run before new html arrives
})