【问题标题】:Ubercart, replacing quantity input text with a dropdown boxUbercart,用下拉框替换数量输入文本
【发布时间】:2010-08-13 17:47:44
【问题描述】:

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

这样,客户不必输入他们想要购买的商品数量,而只需在下拉弹出窗口中选择一个商品:http://dl.dropbox.com/u/72686/dropdown.png

我该如何替换它?

谢谢

【问题讨论】:

  • 如果他们想要的数量超过下拉菜单允许的数量怎么办?
  • 他们没有和我的客户讨论过。谢谢

标签: drupal drupal-6


【解决方案1】:

你可以在 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;
}

我做了这个,但它应该可以工作。

【讨论】:

    【解决方案2】:

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

    1) 使用 hook_form_alter() 覆盖模块

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

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

    【讨论】:

    • 所以,在这两种情况下,我都需要使用 hook_form_alter 来替换/添加一个选择列表,对吧?
    • 在第一种情况下是的,在第二种情况下你必须使用 jQuery。您对 jQuery 还是 PHP 更有经验?
    • 我已经用 PHP 更改了表单。然而,这并不是我想要的。看看我现在得到了什么:(1)以及我想要的(2)。 [1] dl.dropbox.com/u/72686/now.png [2] dl.dropbox.com/u/72686/later.png
    • 我不知道怎么称呼它。它不仅仅是一个下拉列表。它是一个带有弹出列表的下拉按钮。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 2020-12-05
    相关资源
    最近更新 更多