Drupal Ubercart,用下拉框替换数量输入文本

Drupal Ubercart,用下拉框替换数量输入文本,drupal,drupal-6,Drupal,Drupal 6,我正在使用Ubercart汽车,我想用下拉框替换输入字段以指定产品数量 这样,客户不必键入他们想要购买的商品数量,但他们只需在下拉式弹出窗口中选择一个商品即可: 我怎样才能更换它 谢谢您必须进入代码并更改用于产品订购的表单数组(将type设置为“select”,并将value设置为值/标签数组)。但是,如果您不想接触原始代码,您可以: 1) 使用hook\u form\u alter()用模块覆盖 2) 通过创建一个选择列表并隐藏标准输入,然后在更改时将选择列表的值放入隐藏的输入字段,使用jQu

我正在使用Ubercart汽车,我想用下拉框替换输入字段以指定产品数量

这样,客户不必键入他们想要购买的商品数量,但他们只需在下拉式弹出窗口中选择一个商品即可:

我怎样才能更换它


谢谢

您必须进入代码并更改用于产品订购的表单数组(将type设置为“select”,并将value设置为值/标签数组)。但是,如果您不想接触原始代码,您可以:

1) 使用hook\u form\u alter()用模块覆盖

2) 通过创建一个选择列表并隐藏标准输入,然后在更改时将选择列表的值放入隐藏的输入字段,使用jQuery进行覆盖。例如:

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

您可以在hook\u form\u alter()中尝试此操作

if($form\u id=='cart form'){
$x=0;
$options=array();
而($x<50){
$options[$x]=$x;
$x++;
}
$form['qty']['#type']='select';
$form['qty']['#options']=$options;
}

这是我一下子想出来的,但应该行得通。

如果他们想要的数量超过了下拉列表允许的数量,该怎么办?他们没有。我已经与客户讨论过了。谢谢,在这两种情况下,我都需要使用hook\u form\u alter替换为/添加选择列表,对吗?在第一种情况下是的,在第二种情况下必须使用jQuery。你对jQuery或PHP更有经验吗?我用PHP改变了表单。然而,这并不是我想要的。看看我现在得到了什么:(1)我想要什么(2)。[1] [2]我不知道怎么称呼它。它不仅仅是一个下拉列表。这是一个带有弹出列表的drowdown按钮。
if ($form_id == 'cart form') {
   $x = 0;
   $options = array();
   while ($x < 50) {
      $options[$x] = $x;
      $x++;
   }

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