贴出用<s:select>实现的多选框的添加,删除功能。如下js。
//添加
function addTo(srcList,destList)
{
var len = destList.options.length;
for(var i = 0; i < srcList.options.length; i++)
{
if ((srcList.options[i] != null) && (srcList.options[i].selected))
{
//Check if this value already exist in the destList or not
//if not then add it otherwise do not add it.
var found = false;
for(var count = 0; count < len; count++)
{
if (destList.options[count] != null)
{
if (srcList.options[i].text == destList.options[count].text)
{
found = true;
break;
}
}
}
if (found != true)
{
destList.options[len] = new Option(srcList.options[i].text);
destList.options[len].value = srcList.options[i].value;
len++;
}
}
}
}
//remove item from destLis删除
function deleteFrom(destList)
{
var len = destList.options.length;
for(var m = (len-1); m >= 0; m--)
{
if ((destList.options[m] != null) && (destList.options[m].selected == true))
{
destList.options[m].text = "";
destList.options[m].value = "";
destList.options[m]=null;
len--;
}
}
}
在用<s:select multiply="true"/>作为多选框时,也可以用<select multiply="multiply">来代替<s:select/>.
//添加
function addTo(srcList,destList)
{
var len = destList.options.length;
for(var i = 0; i < srcList.options.length; i++)
{
if ((srcList.options[i] != null) && (srcList.options[i].selected))
{
//Check if this value already exist in the destList or not
//if not then add it otherwise do not add it.
var found = false;
for(var count = 0; count < len; count++)
{
if (destList.options[count] != null)
{
if (srcList.options[i].text == destList.options[count].text)
{
found = true;
break;
}
}
}
if (found != true)
{
destList.options[len] = new Option(srcList.options[i].text);
destList.options[len].value = srcList.options[i].value;
len++;
}
}
}
}
//remove item from destLis删除
function deleteFrom(destList)
{
var len = destList.options.length;
for(var m = (len-1); m >= 0; m--)
{
if ((destList.options[m] != null) && (destList.options[m].selected == true))
{
destList.options[m].text = "";
destList.options[m].value = "";
destList.options[m]=null;
len--;
}
}
}
在用<s:select multiply="true"/>作为多选框时,也可以用<select multiply="multiply">来代替<s:select/>.