【发布时间】:2011-03-19 17:38:47
【问题描述】:
所以我得到了适用于 Firefox 和 Chrome 的代码...它的作用是允许您重新排序 HTML 选择表单中的选项...但是当我通过 IE8 测试代码时,它有点不完整。 ..它只适用于最初的几次点击,之后你必须多次点击按钮才能工作..
是否有人知道任何其他代码可以让您重新排序在 IE8 中完美运行的选定字段项?
<select id="list" multiple="multiple">
<option value="wtf">bahaha</option>
<option value="meh">mwaahaha</option>
</select>
<button id="mup">Move Up</button>
<button id="mdown">Move Down</button>
<a href="#">Add Item</a>
<a href="#">Remove item</a>
<script>
$(document).ready(function(){
$('#mup').click(function(){
moveUpItem();
});
$('#mdown').click(function(){
moveDownItem();
});
});
function moveUpItem(){
$('#list option:selected').each(function(){
$(this).insertBefore($(this).prev());
});
}
function moveDownItem(){
$('#list option:selected').each(function(){
$(this).insertAfter($(this).next());
});
}
【问题讨论】:
-
与您的问题并不真正相关,但您可以改进您的
moveDownItem()功能,以安全地处理允许多项选择的选择框,只需反转each()之前的选项,例如 @987654324 @ -
很好地发现了@MickByrne
标签: javascript jquery forms select