如何在Jquery中显示选择选项之前更新这些选项
How to update select options before showing them in Jquery?
看看这个示例代码:
<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")更新它之后。我需要做的是首先用新的值更新select,并且只有在显示它之后。有没有使用jQuery这样做的方法?提前谢谢,伙计们!
编辑:
好吧,让我试着解释清楚一点:每当你点击一个选择来显示选项时,它就会自动显示出来(这很明显!)。我的问题是,我需要拦截点击事件,更新select,并且只有在它显示select之后。但它在更新之前会显示select(这是默认行为)。情况如下:
1) 用初始值选择:香蕉,拉兰加
2) 用户点击它。我想要的:显示香蕉,拉兰加和佩拉作为选项。发生了什么:它在列表中显示banana、laranja,只在更新select后显示它(如果我用fiebug检查html代码,pera选项就在那里!)。如果我在select中再次单击,pera选项会正常显示,正如上面的代码所说,它会在select中添加另一个pera选项,该选项只在下次单击时出现,依此类推。
我有点困惑。。您只想在页面加载时更新select吗?如果是这样,你可以做:
CSS:
#teste {
display: none;
}
JS:
$(function(){
$('#teste').append('<option id="pera">pera</option>').val("pera").show();
});
我想这可能就是您正在搜索的:
使用值:
$('[name=options]').val( 3 );//To select Blue
要重置它,请使用:
$('[name=options]').val( '' );
使用文本:
$('[name=options] option').filter(function() {
return ($(this).text() == 'Blue'); //To select Blue
}).prop('selected', true);
链接:http://forum.jquery.com/topic/how-to-dynamically-select-option-in-dropdown-menu
我认为您希望避免多次显示teste选项。
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<style>
#teste{
display: none;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
$(document).click(
function(){
if(!$('#teste').is(':visible')){
$('<option/>',{
'id' : 'pera',
'html' : 'pera',
'selected' : 'selected'
}).appendTo('#teste');
$('#teste').show('slow');
}
})
});
</script>
</head>
<body>
<select id="teste">
<option value="banana">banana</option>
<option value="laranja">laranja</option>
</select>
</body>
相关文章:
- 从选项页面更新chrome扩展清单权限
- 在日期更改后更新Angular UI引导程序日期选择器选项
- 更新:仅根据单选按钮和所选选项选择特定项目
- AngularJS模型在手动更改选项后不会更新
- 当html选择/选项发生更改时,需要更新输入字段
- 如何从Angular.JS中的子页面更新选项卡视图
- 更新选项卡开关/更改上的chrome扩展图标
- 在 magento 中使用多个价格,但在更改自定义选项时不会更新
- 在 ExtJS 中更新选项卡开关上的网格面板
- 如何使用原始选择选项的值更新引导选择的数据原始索引
- 自定义选项更新 Magento 产品图像
- 如何做一个HTML选择表单,其中所选选项更新JSON值
- AngularJS如何使用ng选项更新选择框中的嵌套模型
- 根据选择选项更新多个单选按钮
- 使用select选项更新动态生成的两个框的价格
- 根据数据库中另一个下拉菜单中选择的选项更新一个下拉菜单
- 多次选择选项更新一次按钮按下
- 如何在d3.js中更改json文件并使用选择选项更新图表
- 无法按下拉选项更新同一页面
- 基于selectlist选项更新输入字段