首頁 > 後端開發 > 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板