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

时间:2014-10-03 12:34:41

标签: jquery drupal-7 drupal-behaviors

我正在根据该字段的内容向字段添加一个类,因此我可以根据内容对每个字段设置不同的样式。想象一下从1到10的汉堡评级...我想用一张图片替换评级,用两张图片替换等等......等等。

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

Drupal.behaviors.burgerRating = {
attach: function (context, settings) {
    var burgerRating = $('.field-name-field-rating2').text();
    $('.field-name-field-rating2').addClass(burgerRating);
    }
}

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

我得到的是:

<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">

而不是:

<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()才能使用它,但是我无法让它工作。

有任何帮助吗?感谢。

1 个答案:

答案 0 :(得分:0)

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

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

您必须在内容类型的显示标签 将此格式化工具与您的字段相关联

enter image description here

这是一个了不起的系统,您也可以为格式化程序添加设置表单(hook_field_formatter_settings_form