Drupal / jQuery / CSS :: span标签中的单选按钮标签?

时间:2011-08-01 15:56:45

标签: jquery css drupal radio-button

当在Drupal中呈现单选按钮时,它会显示为:

<label class="form-radio" for="sample">
  <input type="radio" name="samp" value="1" />Sample
</label>

我一直在查看主题函数(即theme_radiostheme_form_element,但无法弄清楚如何呈现输出

<label class="form-radio" for="sample">Sample</label>
<input type="radio" name="samp" value="1" />.  

有人能指出我正确的方向吗?一直在梳理论坛,但没有找到任何帮助......我甚至对jquery解决方案感到满意......

3 个答案:

答案 0 :(得分:2)

听起来你很近 - 一个无线电输入是theme_ 无线电(不是theme_radio s 的功能,它存在但是不同)。

为此,请在主题的template.php中基于theme_radio创建覆盖功能,即

<?php
function mytheme_radio($element) {
  _form_set_class($element, array('form-radio'));
  $output = '<input type="radio" ';
  $output .= 'id="' . $element['#id'] . '" ';
  $output .= 'name="' . $element['#name'] . '" ';
  $output .= 'value="' . $element['#return_value'] . '" ';
  $output .= (check_plain($element['#value']) == $element['#return_value']) ? ' checked="checked" ' : ' ';
  $output .= drupal_attributes($element['#attributes']) . ' />';
  if (!is_null($element['#title'])) {
    $output = '<label class="option" for="' . $element['#id'] . '">' . $element['#title']  . '</label>' . $output;
  }

  unset($element['#title']);
  return theme('form_element', $element, $output);
}
?>

(这适用于/includes/form.inc中的任何主题功能;记得在主题后命名覆盖功能。)假设您根据发送的链接使用Drupal 6。

答案 1 :(得分:1)

您可以在加载页面后尝试此操作

$(function(){
  $("lable.form-radio").each(function(){
     $(this).after($(this).find("input[name=samp]"));
  });
});

答案 2 :(得分:-2)

问题的另一个解决方案&#34;如何通过标签内的css输入无线电进行样式化?&#34;对于Bootstrap主题它的问题)) 我们可以包装无线电标签&#39;该文件中的标题:

站点/所有/主题/引导/模板/系统/形状元件label.func.php

$output的行中添加到$title span标记行70,80,89

e.g。 $output .= '<span>' . $title . '</span>';

寻求答案的3天))