2011-10-06 84 views
2

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

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

任何想法如何获得first_valuesecond_value过去到$ _POST在PHP

如何做到这一点

+1

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

回答

0

我认为,如果你使用AJAX你只能做到这一点,或任何建议,如果你添加一个隐藏字段用顺序索引'[]'购买复选框X在X位置的值隐藏

2

您不能直接执行此操作。我会循环与jquery和创建这些值的新的隐藏输入并删除数据属性。

6

你可以做到这一点

<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 

这样你就可以拉出两个值

+0

这是做到这一点的方法。与'implode()'结合并用'explode()'检索... – Drew

+0

等效于此的轨道是split()。所以你应该做'value1,value2 = value.split(':')',其中值是“CIS 2910C DL:3”。 –

1

如何:

<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; 
    } 
} 

奇怪的做法,但它似乎是一个奇怪的情况,你在任何方面。

相关问题