> 백엔드 개발 > PHP 튜토리얼 > 移动到右边的,为什么要选中后提交才能获取到相应的值。

移动到右边的,为什么要选中后提交才能获取到相应的值。

WBOY
풀어 주다: 2016-06-23 14:24:08
원래의
813명이 탐색했습니다.

本帖最后由 qq914260102 于 2013-10-14 16:02:07 编辑

如果选到右边,是无法获取到值的,必须要点击一次,选中了才能获取到,怎么让右边的默认能获取值








> " onclick="move(this.form.list1,this.form.list2)" name="B1">




sortitems = 1;  // Automatically sort items within lists? (1 or 0)function move(fbox,tbox) {for(var i=0; i<fbox.options.length; i++) {if(fbox.options[i].selected && fbox.options[i].value != "") {var no = new Option();no.value = fbox.options[i].value;no.text = fbox.options[i].text;tbox.options[tbox.options.length] = no;fbox.options[i].value = "";fbox.options[i].text = "";}}BumpUp(fbox);if (sortitems) SortD(tbox);}function BumpUp(box)  {for(var i=0; i<box.options.length; i++) {if(box.options[i].value == "")  {for(var j=i; j<box.options.length-1; j++)  {box.options[j].value = box.options[j+1].value;box.options[j].text = box.options[j+1].text;}var ln = i;break;   }}if(ln < box.options.length)  {box.options.length -= 1;BumpUp(box);   }}function SortD(box)  {var temp_opts = new Array();var temp = new Object();for(var i=0; i<box.options.length; i++)  {temp_opts[i] = box.options[i];}for(var x=0; x<temp_opts.length-1; x++)  {for(var y=(x+1); y<temp_opts.length; y++)  {if(temp_opts[x].text > temp_opts[y].text)  {temp = temp_opts[x].text;temp_opts[x].text = temp_opts[y].text;temp_opts[y].text = temp;temp = temp_opts[x].value;temp_opts[x].value = temp_opts[y].value;temp_opts[y].value = temp;      }   }}for(var i=0; i<box.options.length; i++)  {box.options[i].value = temp_opts[i].value;box.options[i].text = temp_opts[i].text;   }}
로그인 후 복사

回复讨论(解决方案)

懒得看代码理解,纯想象
form提交,select只提交选择的option
所以如果要提交list2,要把全部都加设selected属性,或者把option的每个value都赋值一个新控件(例如hidden)来提交

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿