【发布时间】:2016-07-29 14:14:34
【问题描述】:
我有一个页面,用户必须通过选择选项选择 3 件事。首先,用户选择一种颜色,然后选择一个单词,最后选择一个数字。
<select name="color" id="color" size="3">
<option value="red">red</option>
<option value="blue">blue</option>
<option value="green">green</option>
</select>
<select name="cos" id="cos" size="3">
<option value="-moon">Moon</option>
<option value="-star">Star</option>
<option value="-sun">Sun</option>
</select>
<select name="year" id="year" size="3">
<option value="-2000">2000</option>
<option value="-3000">3000</option>
<option value="-4000">4000</option>
</select>
<div id="output" class="button"></div>
我将这些选项的值用作 url 的“str”,在#output div 中输出:
var selectedAllLength = $("select").length;
$("select").change(function() {
var str = location.origin;
var selected = $("select option:selected");
var selectedCount = selected.length;
if (selectedCount == selectedAllLength) {
selected.each(
function() {
str += $(this).attr('value');
}
);
$("#output").html('<a href=' + str + '>GO!</a>');
}
})
.on('change.select2');
如果用户第一次选择,它会起作用。通过选择/选项更改一些变量后,“str”会更新为正确的值。唯一不起作用的是用户选择了他之前已经选择的东西。如果他这样做了,'str' 不会更新。
例如用户选择Blue, Moon, 2000, 'str' 输出如blue-moon-2000。如果用户随后切换到 Red, Moon, 2000.. 'str' 将更新为 red-moon-2000。到目前为止,一切都很好。如果他随后改变主意并再次选择蓝色,则“str”仍为red-moon-2000。
有人知道是什么原因造成的吗?以及如何解决?
【问题讨论】:
-
您检查浏览器控制台是否有任何错误报告?
-
是的,没有错误
标签: javascript select onchange select2