有几组文字和列表框。选择列表框1内容时输出文字框1值为变量1.假如列表框为box1,文字框为text1.选择列表框box1时产生动作function to(){
document.text1.value=box1.value;}如果有多个列表框1、2、3…和文字框1、2、3…选择每个列表都产生相同动作。我希望选择列表框1把1传递到to(),即to(1)结果是document.text1.value=box1.value;}同样to(2)结果为document.text2.value=box2.value;}怎样在一个函数中让变量名text和box定义成想要text1和box1?
我随便用function to(XX){
document.text+XX.value=box+XX.value;}但这个语句不正确,正确的该怎样表达呢?

解决方案 »

  1.   

    用document.getElementById("text"+xx) 得到对象
      

  2.   

    <select name = sel onchange=to(this.selectedIndex,this.selected[this.selectedIndex].value)>
    <option name = .......>
    </select>function to(str,str1)
    {
        document.eval("text"+str).value=str1;}
      

  3.   

    这个可以了,可是列表框box的值无法取得,我用var box=sa.box1.value(其中sa是窗体名)可以取得box1的值。但用getElementById("box"+xx)无法取得。请问怎么变通一下。
      

  4.   

    2楼的朋友方法也很好,只是我做的不只传递列表框的值,还有另外一个文字框的值需要传递,结果是输出文本框1的值是列表框值加上文本框b的值组合的,我并没有传递这两个值,而是直接读取的,var box=sa.box1.value可以读取,但怎么用"box"+xx来代替box1?