嗨,我想要创建功能,该功能将在单击按钮后从一个列表中删除选项并插入到另一个列表中,但后缀大于我选择的选项before
。class
类名是opt_$i
这样的,当我选择opt_4
我想在opt
哪个更大之前插入它(它并不总是 5,它可以是 73)
function minus(id)
{
var c = $('select#'+ id +' option:selected');
var cities = $('select[name=cities] option');
c.each(function(){
var item = $(this);
var current = parseInt($(this).attr('class').replace(/[^0-9]/g, ''));
cities.each(function(){
var next = parseInt($(this).attr('class').replace(/[^0-9]/g, ''));
if(next > current)
{
var next_item = $(this);
return; // I dont know why this doesnt work ??
}
});
/**
if(previouse == 1)
{
$('select[name=cities] option:first').before(
$('<option></option>')
.attr('value', current.val())
.attr('class', current.attr('class'))
.text(current.text())
);
}
else
{
*/
//$('select[name=cities] option[class=opt_'+ previouse +']').next()
next_item.before(
$('<option></option>')
.attr('value', current.val())
.attr('class', current.attr('class'))
.text(current.text())
);
//}
$(this).remove();
});
}
有没有更好的方法来实现这一点?比循环每次我想插入选项的时间列表来找到更大的类值??
编辑:
<select id="a">
<option class="opt_3">a</option>
</select>
<select id="b">
<option class="opt_1">c</option>
<option class="opt_7">d</option>
</select>
单击按钮后,我想从列表中删除选项a
并插入到列表b
但之前opt_7
。如何找到类别大于 opt_3 的选项?
SOULUTION http://jsfiddle.net/Atm8V/6/这是它应该如何工作,感谢所有评论。