2010-08-13 46 views
1

我使用的是Ubercart汽車,我想用下拉框替換輸入字段以指定產品數量。Ubercart,用下拉框替換數量輸入文本

通過這種方式,用戶不必鍵入他們想購買的物品的數量,但他們可以選擇下拉彈出一個項目:http://dl.dropbox.com/u/72686/dropdown.png

我怎麼能代替它?

感謝

+0

如果他們想要超過數量下拉允許,該怎麼辦? – Kevin 2010-08-13 20:26:32

+0

他們不我已經與我的客戶討論過。謝謝 – aneuryzm 2010-08-14 06:12:58

回答

2

您可以在hook_form_alter()中嘗試此操作。

if ($form_id == 'cart form') { 
    $x = 0; 
    $options = array(); 
    while ($x < 50) { 
     $options[$x] = $x; 
     $x++; 
    } 

    $form['qty']['#type'] = 'select'; 
    $form['qty']['#options'] = $options; 
} 

我這樣做了我的頭頂,但它應該工作。

1

你必須進入代碼並更改用於產品排序(集類型爲「選擇」,並設置值值/標籤的數組)的形式陣列。但是,如果你不想碰的原代碼,你可以:

1)覆蓋與使用模塊hook_form_alter()

2)通過創建一個選擇列表和隱藏的標準輸入使用jQuery覆蓋然後將選擇列表的值更改爲隱藏的輸入字段。示例:

$('select#price').change(function() { 
    var price = $('option:selected', this).value(); 
    $('input#price').val(price); 
}); 
+0

所以,在這兩種情況下,我需要使用hook_form_alter來替換/添加一個選擇列表,對吧?在第一種情況下是 – aneuryzm 2010-08-16 07:06:19

+0

是的,在第二種情況下您必須使用jQuery。你對jQuery或PHP更有經驗嗎? – Rakward 2010-08-16 09:45:13

+0

我已經用PHP更改了表單。然而,這不完全是我想要的。看看我現在得到了什麼:(1)和我想要的(2)。 [1] http://dl.dropbox.com/u/72686/now.png [2] http://dl.dropbox.com/u/72686/later.png – aneuryzm 2010-08-16 19:44:46