代码之家  ›  专栏  ›  技术社区  ›  Dr Casper Black

Zend_Form jQuery滑块

  •  1
  • Dr Casper Black  · 技术社区  · 14 年前

    如何使jquery滑块具有固定的最大值…就像这样:

    http://jqueryui.com/demos/slider/#rangemin

    我设法做到一半:

    $slider = new ZendX_JQuery_Form_Element_Slider('amount');
    $slider->setLabel('Set Amount: ');
    $slider->setJQueryParams(array('min' => 0, 'max' => 60, 'value' => 15));
    

    我不知道如何显示该值,因为它有自己的代码:

    $(function() {
      $("#amount-slider").slider({
       range: "min",
       value: 15,
       min: 1,
       max: 60,
                            // !!! HOW TO
       slide: function(event, ui) {
        $("#amount").val('$' + ui.value);
       }
      });
      // !!! HOW TO
                    $("#amount").val('$' + $("#amount-slider").slider("value"));
    });
    
    3 回复  |  直到 13 年前
        1
  •  1
  •   Dr Casper Black    13 年前

    解决方案

    我用jqueryslider的selectTouislider.jquery.js插件解决了我的问题,它将劫持您在表单类中定义的select标记。所以就这么叫:

    $('select').selectToUISlider();
    

    非常优雅的解决方案。

    链接如下:

    http://www.jquerylabs.com/selecttouislider-plugin.html

    http://www.filamentgroup.com/lab/update_jquery_ui_16_slider_from_a_select_element/

        2
  •  0
  •   Gordon Haim Evgi    14 年前

    jquery代码添加到 ZendX_JQuery_View_Helper_Slider . 将其替换为自定义实现,并使用它而不是常规的ViewHelper。

        3
  •  0
  •   snapshot    14 年前

    试试这个

    $slider->setJQueryParams(array(
      'min' => 0,
      'max' => 60,
      'value' => 15,
      'slide' => new Zend_Json_Expr('function(event, ui) {
        $("#amount").val('$' + ui.value);
       }')
    ));