【问题标题】:Multiple values for an input in a form?表单中输入的多个值?
【发布时间】:2012-02-06 08:51:20
【问题描述】:

好的,让我从一个例子开始。我有一堆项目,它们可以分为一系列类别。一个项目可以属于多个类别。基本上我所拥有的是一个项目列表,其中包含按类别分组的复选框。同样,一个项目可以出现不止一次。所以它可能看起来像:

蓝色物品: 项目 1 第 2 项 第 3 项

红色物品: 项目 1 第 4 项

所以在每个项目旁边都有一个用于删除项目类别关联的复选框。我应该在输入值中存储什么以便区分类别之间的项目?我的意思是我不能使用项目编号,因为它可以出现在多个类别中。我可以做一些类似“blue-item2”的事情,然后在使用我的服务器端脚本浏览表单时,用“-”拆分值字符串,但这似乎有点不确定。

抱歉,问题有点含糊。如果需要,我可以澄清一点。

【问题讨论】:

    标签: php html forms


    【解决方案1】:

    包含这些元素的表单:

    <input type="checkbox" name="item[blue][0]">
    <input type="checkbox" name="item[blue][1]">
    <input type="checkbox" name="item[blue][2]">
    
    <input type="checkbox" name="item[red][0]">
    <input type="checkbox" name="item[red][1]">
    

    将为$_POST['item'] 元素生成以下值:

    array(
        'blue' => array(0, 1, 2),
        'red'  => array(0, 1),
    );
    

    【讨论】:

    • 就是这样,arrr
    【解决方案2】:

    您可以为每个复选框使用名称标签,并为同一类别赋予相同的名称。就像说你有一个蓝色项目的复选框然后 输入类型=“检查”名称=“blueitems[]”

    您是否注意到名称中的 [](数组),即在同一组中提供相同的名称。现在通过这种方式您可以访问 document.getElementsByName["blueitems[]"],您将获得一个数组,并且使用索引您可以访问特定元素。

    可以在此处找到类似的示例。 Example for using name arrays

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-02
      • 2014-12-23
      • 2021-01-27
      • 1970-01-01
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多