2013-05-15 160 views
0

我有一個名爲聯繫人表單域,插件選擇選項動態值添加到一個隱藏的表單字段

它的代碼是

<?php foreach ($addons as $options) { ?> 
<option value="<?php echo $options->addon_name; ?>"><h5><?php echo $options->addon_name; ?></h5></option> 
<?php } ?> 

每個插件有它獨特的價格。它可以通過$ options-> addon_price;我只在聯繫表單中添加了插件名稱,所以我只在用戶提交表單時才獲取它的名稱。同樣,我也需要獲得該插件的價格,而無需創建新字段並要求用戶在下拉列表中選擇價格。

任何想法做到這一點?

+0

所以,如果名稱不是唯一的,但價格是,你不需要名稱作爲價值 - 把價格作爲價值?如果你需要兩個,你需要兩個輸入。 '<期權價值=「unique_field」>什麼用戶正在觀看' –

回答

0

您可以使用下面的技巧:

<?php foreach ($addons as $options) { ?> 
<option value="<?php echo $options->addon_name.','.$options->addon_price; ?>"> 
     <h5><?php echo $options->addon_name; ?></h5> 
</option> 
<?php } ?> 

的名稱添加的價格下拉的值,然後提交頁面後,你可以用名稱和價格的字符串,然後你可以通過使用爆炸功能就像它與,拆呢:

$pieces = explode(",", $str); 

,您可以通過$name = $pieces[0]$price = $pieces[1]利用價格和名稱。

+0

感謝您的回覆。它的工作就像一個魅力。我有一個最後的問題,..如果我打印$件我得到陣列 ( [0] =>橫幅閃光​​燈7至8個圖像 [1] => 1000 腳本橫幅 [2] => 3500 5內容頁面(每頁最多500字) [3] => 250}分組沒有正確發生 –

+0

@Vin_fugen可能是你的名字字段有','用於轉義的值,你可以使用任何其他符號添加名稱和價格而不是','而且這對您有用。 – 2013-05-15 10:02:56

0

可以使用

<?php foreach ($addons as $options) { ?> 
<option value="<?php echo $options->addon_price; ?>"><h5><?php echo $options->addon_name; ?></h5></option> 
<?php } ?> 

和u可以獲取價格形成下拉

+0

sekhar木...您的快速回復謝謝..如果我這樣做,我越來越像電子郵件附加組件選上:1300我覺得你didnt明白我的問題。管理員需要同時獲得插件名稱和插件價格。但用戶應該從選擇選項中只選擇插件名稱。 –

0

你可以試試這個,你就能得到的價格,它會顯示addon_name給用戶。

<?php foreach ($addons as $options) { ?> 
<option value="<?php echo $options->addon_price; ?>"><h5><?php echo $options->addon_name; ?></h5></option> 
<?php } ?> 
+0

感謝您的快速回復..如果我這樣做,我收到電子郵件像選擇插件:1300.我認爲你沒有理解我的問題。管理員需要同時獲得插件名稱和插件價格。但用戶應該從選擇選項中只選擇插件名稱。有沒有可能通過動態隱藏領域做到這一點。 –

+0

您可以傳遞兩個值作爲具有分隔符的字符串解析爲數組以獲取這兩個值。 –

0

聽起來你需要一個唯一的ID來標識插件。如果它是一個不改變的靜態數組,你甚至可以爲此使用數組鍵,但是我會爲這些對象添加一個addon_id字段。

的插件數組將是這樣的:

$addons = array(
    1 => $addon1, 
    2 => $addon2, 
    3 => $addon3, 
    ... etc 
); 

你選擇的選項可以有數組鍵的值:

<?php foreach ($addons as $key => $options) { ?> 
<option value="<?php echo $key; ?>"><h5><?php echo $options->addon_name; ?></h5></option> 
<?php } ?> 

然後當你處理所選擇的插件,使用鍵訪問相應的插件,如下所示:

$selected_addon = $addons[$_POST['addon']]; 

,顯然替代正確的表單元素名稱,並首先消毒輸入,這只是給你一個想法。

相關問題