首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过jQuery输出错误循环向Drupal字段添加类

通过jQuery输出错误循环向Drupal字段添加类
EN

Stack Overflow用户
提问于 2014-10-03 12:34:41
回答 1查看 64关注 0票数 0

我将根据字段的内容向字段中添加一个类,这样我就可以根据内容对每个字段进行不同的样式设置。想象一下汉堡的评级从1到10.我想用一个图像替换这个评级,另一个图像替换两个...and,以此类推。

为此,我需要每个字段类来反映字段内容。下面是我使用的代码:

代码语言:javascript
复制
Drupal.behaviors.burgerRating = {
attach: function (context, settings) {
    var burgerRating = $('.field-name-field-rating2').text();
    $('.field-name-field-rating2').addClass(burgerRating);
    }
}

这会将字段的内容输出为我可以样式的类。但是,在页面上有三个帖子的博客视图中,当我想要每个字段实例的每个特定字段内容时,这段代码将所有三个类添加到所有三个字段中。

我得到的是:

代码语言:javascript
复制
<div class="field-name-field-rating2 rating-1 rating-5 rating-8">
<div class="field-name-field-rating2 rating-1 rating-5 rating-8">
<div class="field-name-field-rating2 rating-1 rating-5 rating-8">

而不是:

代码语言:javascript
复制
<div class="field-name-field-rating2 rating-1">
<div class="field-name-field-rating2 rating-5">
<div class="field-name-field-rating2 rating-8">

我想我需要用.this()或.each()来处理这个问题,但是我无法让它正常工作。

有什么帮助吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-03 12:55:09

为什么要在Javascript中这么做?你可以:

  • 对此字段使用特定模板,并根据字段的值执行所需的操作。
  • 更好,但更复杂:使用这些钩子::创建一个名为"burger_rating“的burger_rating字段格式化程序
    • hook_field_formatter_infoinfo/7
    • hook_field_formatter_viewview/7

格式化程序是字段显示的方式。它取决于字段的类型(文本、数字、taxonomy_reference、.)。如果您的评等字段是文本字段,则必须为文本字段创建格式化程序。创建它之后,所有文本字段都可以使用此格式化程序。

您必须将此格式化程序与内容类型的显示选项卡上的字段相关联。

这是一个非常棒的系统,您也可以为您的格式化程序添加设置表单(hook_field_formatter_settings_form)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26179020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档