使用选项数组填充两个选择框?

时间:2017-02-10 21:54:45

标签: javascript jquery html

我有一个数组,我想用它来填充两个不同的选择框,但我看到了一些奇怪的行为。填充第一个选择工作正常,但是当将相同列表添加到第二个选择框时,第一个选择被清除,最后一个项目在第二个选择框中被选中。

var optionList = []

optionList.push(new Option("waba", "waba"))
optionList.push(new Option("shaba", "shaba"))

$('#first_select').html(optionList); //works fine
$('#second_select').html(optionList); //clears first select and last item is selected

JS Fiddle Example

3 个答案:

答案 0 :(得分:3)

在一个语句中设置两者的html内容:

$('#first, #second').html(optionList);

jsfiddle:https://jsfiddle.net/tcuow32f/1/

答案 1 :(得分:2)

我认为您需要克隆optionList

var optionList = []

optionList.push(new Option("waba", "waba"))
optionList.push(new Option("shaba", "shaba"))

$('#first').html(optionList);
$('#second').html($(optionList).clone());

答案 2 :(得分:1)

您必须使用$res = mysql_query("SELECT day, title, speaker, time, room, details FROM classes"); $resArray = array(); while($row = mysql_fetch_assoc($res)) $resArray[] = $row; $resArraySorted = sortResultByDay($resArray); echo json_encode($resArraySorted); 克隆它们,如下所示:

jQuery.clone