如何将一个选择元素与另一个选择语句关联

时间:2018-10-17 09:44:54

标签: php html post

我在表单中有两个select html元素。每当用户单击“添加”按钮时,就会创建这两个选择元素。因此,表单中有这对html select语句对的多个实例。代码如下:

<form action="create.php" method="POST">
  <div class="user_role">
    <select name="users[]">
       <option value="1"> John </option>
       <option value="2"> Doe </option>
    </select>
    <select>
       <option value="1"> Browser </option>
       <option value="2"> Project Manager </option>
    </select>
  </div>
  <div>
     <input type="button" name="add" id="add" value="Add User" 
  </div>
  <div>
     <input type="submit" name="submit" value="submit" />
  </div>
</form>

如果单击提交按钮,则$ _POST数组包含以下值:

Array ( 
    [users] => Array ( 
                       [0] => 1  
                     )  
    [submit] => submit 
  )

我不知道在第二个选择的“名称”属性上放置什么,以便我可以连接两个选择语句。

我想完成的是,我想有一种方法可以将第二个选择上的值作为存储在$ _POST全局数组中的第一个选择上的相应用户的角色值来引用。示例:

User: John     <-- first html select statement

role: Browser  <-- second html select statement
___________________________________________________

User: Doe  <-- first html select statement

role: Project Manager  <-- second html select statement

1 个答案:

答案 0 :(得分:1)

您可以尝试类似的操作:

<!DOCTYPE html>
<html>
<body>

<form action="/action_page.php">
    <select name="users[1][name]">
       <option value="1"> John </option>
       <option value="2"> Doe </option>
    </select>
    <select name="users[1][role]">
       <option value="1"> Browser </option>
       <option value="2"> Project Manager </option>
    </select>
<div>
     <input type="submit" name="submit" value="submit" />
  </div>
</form>

</body>
</html>

提交的表单数据如下:

users[1][name]=1&users[1][role]=1&submit=submit 

如果您想添加另一组选择输入作为用户-只需增加该值即可。因此,下一个添加的集合将如下所示:

<!DOCTYPE html>
<html>
<body>

<form action="/action_page.php">
    <select name="users[1][name]">
       <option value="1"> John </option>
       <option value="2"> Doe </option>
    </select>
    <select name="users[1][role]">
       <option value="1"> Browser </option>
       <option value="2"> Project Manager </option>
    </select>
<!-- Newly added by js -->
    <select name="users[2][name]">
       <option value="1"> John </option>
       <option value="2"> Doe </option>
    </select>
    <select name="users[2][role]">
       <option value="1"> Browser </option>
       <option value="2"> Project Manager </option>
    </select>
<div>
     <input type="submit" name="submit" value="submit" />
  </div>
</form>

</body>
</html>

如果在创建时确定要插入哪个索引时遇到问题,则需要修改JS“添加”功能。

有几种方法-您可以存储一些变量,该变量将保持用户数量从1开始,每次添加时,您将对其进行递增。

您还可以计算选择次数并获得下一个元素的正确数目 您还可以修改表单的结构,以将两个选择与某个类一起存储在div中,并对其上的元素进行计数。

以下是使用香草JavaScript的jsFiddle的一些指导: https://jsfiddle.net/mrba8dLy/