从select中删除和恢复选项
Remove and restore options from select
我有html:
<select id="sel">
<option value="1">aaa</option>
<option value="2">bbb</option>
<option value="3">ccc</option>
<option value="4">ddd</option>
<option value="5">eee</option>
<option value="6">fff</option>
<option value="7">ggg</option>
</select>
<button id="remove">remove</button>
<button id="restore">restore</button>
和javascript:
function rand(){
return Math.floor(Math.random() * 7) + 1;
}
function deleteRandom(){
$.each([rand(), rand(), rand()], function( index, value ) {
$("#sel option[value=" + value + "]").remove();
//here should be saved...
});
}
function restore(){
//this function should restore #sel
}
$("#remove").click(function(){
deleteRandom();
})
$("#restore").click(function(){
restore();
})
现场演示:http://jsfiddle.net/g4Q8B/
保存删除选项的最佳方法是什么?我不想使用隐藏、显示:无等,因为这不是在所有浏览器中都可以使用的。我不想也使用残疾人。
我想删除此选项,然后从select中保存下一个或上一个保存所有选项。也许我应该保存所有选择#sel,但如何保存?
最好的方法是在页面加载时存储选项的克隆。然后克隆该克隆以进行恢复,因此始终将第一个克隆作为缓存。
var $options=$('#sel option').clone();
function restore(){
$('#sel').html( $options.clone())
}
演示
现在如果你想做任何选项的过滤,也可以在缓存上做,你总是有完整的存储
$('#filtered').click(function(){
/* only options with value > 3*/
var opts=$options.clone().filter(function(){
return this.value > 3;
})
$('#sel').html(opts)
})
相关文章:
- 我的单元测试选项是什么
- 如何更改bigquery API中的计费层选项
- 使用Javascript获取所选选项ID
- Selectize.js:如何对整数值的选项进行排序
- 通过js在新选项卡中有条件地打开url
- 按照选项卡索引的顺序循环一个jQuery选择
- 如何从选择中删除和恢复选项
- 从select中删除和恢复选项
- 在页面刷新时恢复下拉选择的选项
- 如何防止在提交表单后恢复到上一个选项卡
- 当鼠标离开区域时,或在Zurb Foundation中使用JS时,恢复到初始活动选项卡
- 如何恢复jQuery Choosen'取消选中所有选项时的数据占位符
- 如何修改选定的选项文本&在下一个选项之后恢复文本
- jQuery自动完成- IE8问题-这个选项卡已经恢复
- JQuery UI可拖动多个恢复选项
- 如果我们're处于默认状态,并且没有选择其他选项,则不执行任何操作.如果从其他选项中恢复到默认值,请采取措施
- 选择选项背面丢失按钮&搜索结果恢复为默认选项
- jQuery-恢复删除的select选项
- Jquery 动画选项卡 - 在鼠标退出时恢复
- Firefox在选项卡恢复后触发onchange事件