【发布时间】:2014-01-01 19:16:12
【问题描述】:
看这个示例代码:
<html>
<head>
<script type="text/javascript" src="jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("body").on('click', "#teste",function(){
$('#teste').append('<option id="pera">pera</option>')
$('#teste').show();
});
});
</script>
</head>
<body>
<select id="teste">
<option value="banana">banana</option>
<option value="laranja">laranja</option>
</select>
</body>
我的问题是点击事件显示选择框,并且只有在它使用新值(“pera”)更新它之后。我需要做的是首先用新值更新选择,然后才显示它。无论如何使用jQuery来做到这一点?提前谢谢各位!
编辑:
好的,让我试着解释清楚一点:每当您单击选择以显示选项时,它会自动显示它(很明显!)。我的问题是我需要拦截点击事件,更新选择并且只有在它显示选择之后。但它在更新之前显示了选择(这是默认行为)。这是发生了什么:
1) 用初始值选择:banana, laranja
2) 用户点击它。我想要什么:显示香蕉、laranja 和 pera 作为选项。会发生什么:它在列表中显示banana,laranja,仅在更新选择后才显示(如果我用fiebug检查html代码,pera选项就在那里!)。如果我在选择中再次单击,则 pera 选项会正常显示,并且如上面的代码所述,它会在选择中附加另一个 pera 选项,该选项仅在下一次单击时出现,依此类推。
【问题讨论】:
-
你不想从一开始就看到选择吗?
-
“我的问题是点击事件显示选择框,并且只有在它使用新值更新它之后”这不是你的代码正在做的事情
-
请看修改后的问题!
标签: javascript jquery select click updates