动态生成的 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
})
我正在使用两个下拉列表的组合 (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
})