从动态生成的多个列表框的多组中获取值

Get values from multiple sets of multiple list box generated dynamically

本文关键字:获取 动态 列表      更新时间:2023-09-26

我有一个表单,在我的网页上动态添加行与表单字段。一行表单字段由一个文本框和一个多重选择列表组成。教程来源:http://viralpatel.net/blogs/2009/03/dynamically-add-remove-rows-in-html-table-using-javascript.html

文本框的代码是:

<input type="textbox" name="name[]" id="name" size="20" maxlength="50" />

我的多重选择列表的代码是:

<select name="friend[]" multiple size="4" id="friend" style="width:150px" >
<option value="none" selected="selected">None</option>
<option value="sam">Sam</option>
<option value="jenny">Jenny</option>
<option value="bob">Bob</option>
<option value="aaron">Aaron</option>
</select>

我使用Javascript生成两个字段的多行,所有行共享相同的名称。我在获取不同行的名称方面没有问题,如name[0] =第一行的名称,name[1] =第二行的名称,等等。但我无法判断用户从多个列表框中每行选择了多少。

如果用户从第一行选择"None",在第二行选择"Sam and Bob",仅在第三行选择"Aaron",则好友数组将显示线性结果,其中好友[0]= None,好友[1]= Sam,好友[2]= Bob,好友[3]= Aaron。

如何使用HTML或PHP或Javascript告诉用户为每个多个列表框选择什么值?

提前感谢!

枚举字段,然后按预期工作。

<select name="friend[1][]"
<select name="friend[2][]"
<select name="friend[3][]"

    var_dump($_POST);
    array(3) {
      ["name"]=>
      array(3) {
        [0]=>
        string(2) "aa"
        [1]=>
        string(2) "bb"
        [2]=>
        string(2) "cc"
      }
      ["friend"]=>
      array(3) {
        [1]=>
        array(1) {
          [0]=>
          string(4) "none"
        }
        [2]=>
        array(2) {
          [0]=>
          string(3) "sam"
          [1]=>
          string(3) "bob"
        }
        [3]=>
        array(1) {
          [0]=>
          string(5) "aaron"
        }
      }
      ["submit"]=>
      string(4) "send"
    }