2011-10-06 81 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; 
    } 
} 

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

相關問題