【问题标题】:Style radio buttons symfony样式单选按钮 symfony
【发布时间】:2018-12-13 05:20:26
【问题描述】:

我正在尝试为列表中的一些单选按钮设置样式,但是当我在 CSS 文件中声明 input["type=radio"]{ border-style: none; } 时,它什么也不做。 这是单选按钮所在的代码: <?php echo $form['servico_id']; ?>

servico_id 是一个列表,其中包含新表单中的六个单选按钮选项。 你能帮助我吗?我希望我已经很好地解释了自己。 谢谢

newSuccess 表单:

<form action="<?php echo url_for('marcacao/'.($form->getObject()->isNew() ? 'create' : 'update').(!$form->getObject()->isNew() ? '?id='.$form->getObject()->getId() : '')) ?>" method="post" <?php $form->isMultipart() and print 'enctype="multipart/form-data" ' ?>>
<?php if (!$form->getObject()->isNew()): ?>
<input type="hidden" name="sf_method" value="put" />
<?php endif; ?>
    <div id="sub-titulo">Dados Pessoais</div>
        <div class="sombra">Nome
        <?php echo $form['nome']; ?>
        <?php echo $form['id']; ?>
        <?php echo $form['_csrf_token']; ?>
        </div>
        <div class="sombra">E-mail
        <?php echo $form['email']; ?>
        </div>
        <div class="sombra">Contacto
        <?php echo $form['contacto']; ?>
        </div>
<div id="sub-titulo">Prefer&ecirc;ncia Hor&aacute;ria</div>
        <div class="sombra"> Dia<?php echo $form['dia']; ?>&nbsp;&nbsp;  Hora<?php echo $form['hora']; ?></div>
<div id="sub-titulo">Servi&ccedil;os</div>
    <?php echo $form['servico_id']; ?>

<input type="submit" name="submit" value="Marcar >"/>
</form>
</div>

【问题讨论】:

  • Symfony 为你做的唯一一件事就是渲染按钮,但如果你检查你的 html 代码是标准的。你有萤火虫吗?您是否尝试将“!important”添加到您的 CSS 规则中?
  • 不是模板,而是生成的 HTML !所以我们可以看到错误是在你的表单类还是css选择器中。
  • 这里有点:
    Preferência Horária
    Serviços
  • 好的,我认为这只是您的 html 的细分,因为
  • 不正确!您将在我创建的小提琴 (jsfiddle.net/domi27/EDXFx) 中找到答案。还更新了我的回答!

标签: radiobuttonlist


【解决方案1】:

看起来好像您将 JQuery 选择器语法放入您的 css 文件中。这不是 正确的。相反,要么使用 CSS 类标记您的 input type="radio" 元素,并在您的 css 文件中设置该类的样式,或者添加一个 javascript 块以使用 jQuery 为您的元素设置样式。

即。 CSS 文件:

input.radio {
    background-color: blue; //style as you wish
}

即。 HTML:

<input type="radio" class="radio" /> Yes
<input type="radio" class="radio" /> No

或替代方式(使用 JQuery/Javascript):

<script type="text/javascript">
    $(function() {
        $("input:radio").css('background-color', 'blue);
    });
</script>

【讨论】:

  • 感谢您的回答。它也不起作用:(因为它是在 symfony 中制作的,并且没有“访问”
  • 好吧抱歉我不熟悉交响乐。请注意,您可以只设置“输入”样式,它会影响收音机,但这可能会对其他输入类型产生负面影响。你试过第二种方法吗?如果您可以添加 javascript/jquery 脚本,它应该可以解决该问题。
  • 还是谢谢你。问题是所有其他输入标签都在设置样式,但单选按钮没有......在列表中,我 cn 样式
  • 但不是单选按钮。第二种方法我也试过了。不确定我是否正确使用它,但它也不起作用。
  • 在此处发布您的 css(或相关部分),以便我们检查。
  • 我不认为问题出在 css 中...问题是我如何从我拥有的代码中获取单选按钮... symfony 自己生成表单所以这种代码不显示。
  • 【解决方案2】:

    你可以像这样用 symfony 处理它:

    1. 在 symfony 表单 configure() 函数中为您的无线电输入提供一个 css 类

      $this->widgetSchema["myradio"]->setAttribute("class" => "mySpecialRadio");
      
    2. 将您的样式放入相应的 css 文件中

      /* If you use ul/li rendering of sfWidgetFormChoice */
      li.mySpecialRadio {
          color: red;
      }
      
      input[type="radio"].mySpecialRadio {
          float: right;
      }
      

    【讨论】:

    • 我可以这样用吗? $this->widgetSchema['servico_id'] = new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('FeasyServico'), 'add_empty' => false, 'method' => 'getDescricao', 'multiple ' => false, 'expanded' => true), array('class' => 'mySpecialRadio'));
    • 是的,这应该可以。你会得到一个带有 li 的 ul,其中包含你的表单输入 - 全部带有 css 类“mySpecialRadio”!
    • 除非我做错了什么,否则它不起作用......我不知道这里有什么问题:(
    • 请显示您的结果表单 html,以便我/我们可以检查 css 选择器!
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签