JS:.prepend()2选择的选项不起作用

时间:2017-05-18 16:15:03

标签: javascript jquery html ajax

我希望标题是自我解释的,但我会尝试解释我的问题。

在我的HTML文件中,我有2个选择,没有选项。在页面加载时,执行ajax请求以获取某些数据。在我的Ajax请求的success回调中,我为刚刚获得的每个数据创建了一个option元素。我还将这些新创建的选项元素添加到我的select两个中,但唯一可用的前缀是在最后select上完成的那个

以下是我的代码的SC,在此测试中,该选项仅预先into_APPNAME选择,而不是from_APPNAME。如果我将还原前缀,如

$("#into_" + repoName).prepend(option) $("#from_" + repoName).prepend(option)

只有from_APPNAME选择才会有选项。

任何想法发生了什么?

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

您必须创建两个不同的HTML元素或克隆您创建的第一个HTML元素才能创建新元素。例如,这段代码应该填充它们:

var option1 = $('<option></option>').attr('value', branch).text(branch);
var option2 = $('<option></option>').attr('value', branch).text(branch);
$("#into_" + repoName).prepend(option1);
$("#from_" + repoName).prepend(option2);

当然最好将option1克隆到option2

var option2 = $(option1).clone();

另一种方法可以是以下方法,摆脱变量:

$("#into_" + repoName).prepend($('<option></option>').attr('value', branch).text(branch));
$("#from_" + repoName).prepend($('<option></option>').attr('value', branch).text(branch));