Pri*_*nce 3 php checkbox jquery
有没有什么方法可以将复选框链接到文本框。例如
<form>
<table>
<tr>
<td><input name="databaseIDs[]" type="checkbox" value="49"/></td>
<td><input type="text" name="first" value="First Input"/></td>
</tr>
<tr>
<td><input name="databaseIDs[]" type="checkbox" value="50"/></td>
<td><input type="text" name="first" value="Second Input"/></td>
</tr>
<tr>
<td><input name="databaseIDs[]" type="checkbox" value="60"/></td>
<td><input type="text" name="first" value="Third Input"/></td>
</tr>
<tr>
<td><input name="databaseIDs[]" type="checkbox" value="38"/></td>
<td><input type="text" name="first" value="Fourth Input"/></td>
</tr>
</table>
</form>
Run Code Online (Sandbox Code Playgroud)
如您所见,复选框是一个数组,每个复选框值都是数据库 ID。我想要实现的是更新数据库值,其中 id 等于用户勾选的复选框的 id。例如,如果用户勾选第一个复选框(值为49),并提交表单,则数据库将更新id为49的数据库中的值。
小智 5
这个问题不需要任何 jQuery(或 javascript)。由于您使用的是复选框而不是单选按钮,我假设您希望能够一次更新多个实体。
实现此目的的最简单方法是按如下方式设置表单:
<table>
<tr>
<td><input name="selected_ids[]" type="checkbox" value="49"/></td>
<td><input type="text" name="data[49][name]" value="First Input"/></td>
</tr>
<tr>
<td><input name="selected_ids[]" type="checkbox" value="50"/></td>
<td><input type="text" name="data[50][name]" value="Second Input"/></td>
</tr>
<tr>
<td><input name="selected_ids[]" type="checkbox" value="60"/></td>
<td><input type="text" name="data[60][name]" value="Third Input"/></td>
</tr>
<tr>
<td><input name="selected_ids[]" type="checkbox" value="38"/></td>
<td><input type="text" name="data[38][name]" value="Fourth Input"/></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,复选框将代表您想要更新的实体。当表单提交时,您将得到一个由 0 个或多个 ID 组成的数组,每个 ID 都对应一个选中的复选框。然后,您可以循环遍历这个 ID 数组,在关联数组name中获取它的匹配值data。这个循环看起来像这样:
foreach($_POST['selected_ids'] as $id){
$name = $_POST['data'][$id]['name'];
//TODO: update the database
}
Run Code Online (Sandbox Code Playgroud)
<input>此设置允许您通过遵循约定创建 s 来非常轻松地为每个实体添加更多数据<input name="data[<entity id>][<database field>]">
| 归档时间: |
|
| 查看次数: |
2248 次 |
| 最近记录: |