在两个多选字段之间移动选项
Move options between two multi-select fields
我正在尝试这样的答案:https://stackoverflow.com/a/6256910/1641189
然而,我想使用多选字段,因为它们提供滚动条。
我将在两个选择字段之间有两个按钮,而不是像上面的答案链接那样,让每个项目一点击就移动。
类似于以下内容:http://www.kj4ohh.com/stuff/selectfields.png
- 我该如何在javascript/jquery中做到这一点
- 如何将两个选择字段的内容返回到烧瓶应用程序
编辑:
我尝试了以下javascript:
function assign(form)
{
for(i=0;i<form.unassigned.length;i++) {
if (form.unassigned.options[i].selected == true) {
form.assigned.add(form.unassigned.options[i]);
form.unassigned.remove(i);
}
}
//unselect all items
form.assigned.selectedIndex = -1
}
function unassign(form)
{
for(i=0;i<form.assigned.length;i++) {
if (form.assigned.options[i].selected == true) {
form.unassigned.add(form.assigned.options[i]);
form.assigned.remove(i);
}
}
//unselect all items
form.unassigned.selectedIndex = -1
}
但结果很奇怪:
使用此脚本,如果您从选择字段中选择一个项目,并点击相应的分配/取消分配按钮,它将正常工作。
如果选择两个项目,则只移动一个。
如果选择了两个以上,其中一个移动,一个保持不变,其余的消失。
但是,如果我添加一个alert()行来输出正在观察的当前选择,它将为正确选择的每个项目生成一个警告框。
您必须使用jquery插件才能获得更好的结果
http://loudev.com/
你可以试试这个
$(function(){
$('#toSel1, #toSel2').on('click', function(){
if($(this).attr('id')=='toSel2')
{
var l=$('#sel1 option:selected').length;
if(!l) {
alert("Option not selected !");
return false;
}
$('#sel1 option:selected').each(function(){
$('#sel2').append($(this));
});
}
else
{
var l=$('#sel2 option:selected').length;
if(!l) {
alert("Option not selected !");
return false;
}
$('#sel2 option:selected').each(function(){
$('#sel1').append($(this));
});
}
});
});
演示。
相关文章:
- 输入字段,只接受0到12之间的数字
- 在两个多选字段之间移动选项
- 只有一些带undercore.js的字段在对象数组之间求交集和等于
- MVC5 - 检查用于搜索日期字段的 2 个日期(文本框)之间的重叠
- 如何在 dialog() 模式弹出窗口中的部分视图之间保留字段数据
- 使用 Javascript 的 HTML 中两个字段之间的区别
- 在 2 个字段之间自动重新计算
- 无法在放置的字段之间放置元素
- 将光标聚焦在 HTML 上创建,然后在 Lightswitch 2013 中的属性字段之间移动光标
- 在两个html字段之间形成关系
- 在HTML输入字段之间切换输入法
- 计算动态输入字段数之间的百分比
- 在iText中使用JavaScript查找两个字段之间的差异
- jquery EditInPlace字段之间的选项卡
- 在特定输入字段和完整表单之间的显示之间切换表单
- Javascript -计算两个相关字段之间的剩余部分
- 将一个字段复制到另一个字段,但在单词之间添加逗号
- 如何将两个对象之间字段值的变化放入变量中?
- 实时计数两个HTML日期输入字段之间的日期
- 在两个隐藏的字段之间传递