【问题标题】:is there a way to pass two values in an input checkbox to the $_POST有没有办法将输入复选框中的两个值传递给 $_POST
【发布时间】:2011-12-02 15:32:41
【问题描述】:

我在页面上有一堆复选框,我想像这样为每个复选框传递两个值....

<input name="class[]" value="first_value" data="second_value" type="checkbox" class="auto"/>

知道如何让first_valuesecond_value 过去到 $_POST 在 php 中

关于如何做到这一点的任何建议

【问题讨论】:

  • 只是好奇为什么需要为单个输入传递两个值。你不能把这两个值放在一起吗?

标签: php html post input checkbox


【解决方案1】:

你可以这样做

<input name="class[]" value="CIS 2910C DL:3" type="checkbox" class="auto"/>

你用 : 或你想要的任何其他分隔符分隔两个值。

然后在 $_POST 上,您可以像这样在循环中使用explode

$pieces = explode(":", $class);
echo $pieces[0]; // CIS 2910C DL
echo $pieces[1]; // 3

所以你可以提取两个值

【讨论】:

  • 这就是这样做的方法。与implode() 结合并与explode() 检索...
  • 与此等效的 rails 是 split()。所以你会做value1, value2 = value.split(':'),其中值为“CIS 2910C DL:3”。
【解决方案2】:

你不能直接做。我会使用 jquery 循环并使用这些值创建新的隐藏输入并删除数据属性。

【讨论】:

    【解决方案3】:

    怎么样:

    <input name="class[second_value][]" value="first_value" type="checkbox" class="auto"/>
    

    然后在 PHP 中

    foreach($_POST['class'] as $first_value=>$tmpArray) {
        foreach($tmpArray as $second_value) {
            echo $first_value.": ".$second_value;
        }
    }
    

    做这件事的方式很奇怪,但无论如何,这似乎是一种奇怪的情况。

    【讨论】:

      【解决方案4】:

      我认为只有在使用 ajax 或添加带有索引顺序“[]”的隐藏字段时才能执行此操作,在 X 位置隐藏 X 的值的复选框购买

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-30
        • 2015-07-27
        • 1970-01-01
        • 2017-09-02
        • 2022-11-11
        • 2012-02-25
        • 2022-01-03
        相关资源
        最近更新 更多