【问题标题】:DRUPAL: customize dropdown Views filterDRUPAL:自定义下拉视图过滤器
【发布时间】:2010-02-25 09:59:35
【问题描述】:

我正在使用视图下拉过滤器(带有标签),效果很好。但是我想以这种方式自定义它:

1 - 删除“应用”按钮并自动更新视图(目前我正在使用 Ajax 更新它)

2- 允许我的客户更改下拉项目的顺序(指定顶部项目)

3- 选择多个项目而无需按键盘上的 SHIFT 按钮(如果选择了新项目,请不要取消选择其他项目)

http://dl.dropbox.com/u/72686/viewsFilter1.png

让我们假设图像中的项目是标签......像这样: http://dl.dropbox.com/u/72686/viewsFilter2.png

谢谢

【问题讨论】:

    标签: drupal


    【解决方案1】:
    1. 使用 jQuery .hide() Apply 按钮,然后在过滤器字段上设置一个处理程序,以便每当其中一个被更改(即由用户)时,Apply 按钮都会记录一次点击。
    2. 嗯,没办法了。您可能会被困在编写与 Views API 挂钩的自定义模块。
    3. 听起来Sexy Exposed 模块可以解决这个问题?

    【讨论】:

    • 您好,感谢您的回答,我看到了性感暴露的模块。您是否认为使用一些 CSS 我可以隐藏复选框并将其转换为如下形式:dl.dropbox.com/u/72686/viewsFilter2.png
    • CSS 无法做到这一点。您可能必须使用众多 jQuery 插件之一,这些插件允许您在表单元素上使用自定义样式。
    【解决方案2】:

    我正在使用以下代码来保持选中项目并且它可以工作。

    $('#edit-tid option').click(function() {

    $(this).toggleClass("selected");    
    $("option:not(.selected)").removeAttr("selected"); 
    $("option.selected").attr("selected", "selected");
    
        //submit request
     $('#edit-submit-Portfolio').click();
    

    });

    提交请求后,页面会刷新。所选项目仍处于选中状态(class="selected"),但 javascript 代码不会让它们保持选中状态。我不明白为什么,因为它们具有正确的类属性。

    所以..刷新后它不起作用,即使html代码相同(相同的 class="selected" 属性分配给相同的项目)。

    谢谢

    【讨论】:

      【解决方案3】:

      我已经解决了第 1 点和第 2 点,从 drupal 网站安装 better exposed filter module

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-04
        • 2011-11-12
        • 1970-01-01
        相关资源
        最近更新 更多