select选择框问题求解

LiveAsaMonster 2011-08-22 05:06:12

<select ondblclick="removeItem();" id="sltSrc" multiple="true" >
<option value="aaaaa" selected="">111</option>
<option value="bbbbb" selected="">222</option>
<option value="ccccc" selected="">333</option>
<option value="ddddd" selected="">443</option>
</select>

<select ondblclick="addItem();" id="sltTarget" multiple="true">
</select>
<input type="checkbox" onchange="selectAll()" name="choose_all" id="choose_all" value="0">全选<br>
<script type="text/javascript">
function removeItem(){
var sltSrc=document.getElementById('sltSrc');
var sltTarget=document.getElementById('sltTarget');
for(var i=0;i<sltSrc.options.length;i++)
{
var tempOption=sltSrc.options[i];
if(tempOption.selected){
sltSrc.removeChild(tempOption);
sltTarget.appendChild(tempOption);
}
}
}

function addItem(){
var sltSrc=document.getElementById('sltSrc');
var sltTarget=document.getElementById('sltTarget');
for(var i=0;i<sltTarget.options.length;i++)
{
var tempOption=sltTarget.options[i];
if(tempOption.selected){
sltTarget.removeChild(tempOption);
sltSrc.appendChild(tempOption);
}
}
}
function selectAll() {
var sltSrc = document.getElementById('sltSrc');
var k = sltSrc.options.length;
var i = 0;
var sltTarget = document.getElementById('sltTarget');
for (var i = 0; i < k; i++)
{
var temOption = sltSrc.options[i];
if (temOption != null)
{
sltTarget.appendChild(temOption);
i--;
}
}if (k==0){
for (var i = 0; i < sltTarget.options.length; i++) {
var temOption = sltTarget.options[i];
if (temOption != null) {
sltSrc.appendChild(temOption);
i--;
}
}
}
}
</script>

麻烦各位copy下来运行一下,现在的问题是点击全选之后,我再从右边的选择框移除一个到左边的时候,如何将已勾选的heckbox全选项取消?
...全文
77 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
LiveAsaMonster 2011-08-22
  • 打赏
  • 举报
回复
恩 ,谢谢~!就是这个问题
坚守1988 2011-08-22
  • 打赏
  • 举报
回复
改一下AddItem,看看是不是你要的
function addItem(){
var sltSrc=document.getElementById('sltSrc');
var sltTarget=document.getElementById('sltTarget');
for(var i=0;i<sltTarget.options.length;i++)
{
var tempOption=sltTarget.options[i];
if(tempOption.selected){
sltTarget.removeChild(tempOption);
sltSrc.appendChild(tempOption);
}
}
if(document.getElementById('sltSrc').options.length!=0)
{
document.getElementById("choose_all").checked=false;
}
}

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧