Стили радиокнопок symfony

Я пытаюсь стилизовать некоторые переключатели, которые находятся в списке, но когда я объявляю input["type=radio"]{ border-style: none; } в файле CSS, он ничего не делает. Вот код, где находятся переключатели: <?php echo $form['servico_id']; ?>.

servico_id — это список с шестью переключателями из формы new. Можешь мне помочь? Надеюсь, я хорошо объяснил. Спасибо

форма 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>

person Eva Dias    schedule 23.08.2011    source источник
comment
Единственное, что Symfony делает для вас, это визуализирует кнопки, но если вы проверите свой html код, он будет стандартным. У вас есть Firebug? Вы пытались добавить !important в свое правило CSS?   -  person LuisClemente    schedule 23.08.2011
comment
Не шаблон, результирующий HTML! Таким образом, мы можем видеть, является ли ошибка в вашем классе формы или в селекторе CSS.   -  person domi27    schedule 25.08.2011
comment
вот немного: ‹div class=sombra› ‹div id=sub-titulo›Preferência Horária‹/div› ‹div class=sombra› ‹div id=sub-titulo›Services‹/div› ‹ul class=radio_list › ‹li class=mySpecialRadio› ‹input id=feasy_marcacao_servico_id_4 class=mySpecialRadio type=radio checked=checked value=4 name=feasy_marcacao[servico_id]› ‹label class=mySpecialRadio for=feasy_marcacao_servico_id_4›Acumpuntura Médica‹/label› ‹ ‹класс li=mySpecialRadio› ‹класс li=mySpecialRadio› ‹класс li=mySpecialRadio›   -  person Eva Dias    schedule 25.08.2011
comment
Хорошо, я предполагаю, что это всего лишь разбивка вашего html, потому что ‹li›‹li› не правильно! Вы найдете ответы в скрипте, который я создал (jsfiddle.net/domi27/EDXFx ). Также обновил мой ответ!   -  person domi27    schedule 26.08.2011


Ответы (2)


Похоже, вы помещаете синтаксис селектора JQuery в свой файл css. Это неправильно. Вместо этого либо пометьте свои элементы input type="radio" классом CSS и стилизуйте этот класс в своем файле 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>
person JJ.    schedule 23.08.2011
comment
спасибо за ответ. это тоже не работает :( потому что оно сделано в symfony и не имеет доступа к строкам ‹input type=radio.... - person Eva Dias; 23.08.2011
comment
Хорошо, извините, я не знаком с симфонией. Обратите внимание, что вы можете просто стилизовать ввод, и это повлияет на радио, но это может негативно повлиять на другие типы ввода. Вы пробовали второй способ? Если вы можете добавить скрипт javascript/jquery, он должен решить проблему. - person JJ.; 23.08.2011
comment
В любом случае, спасибо. Дело в том, что все остальные входные теги стилизуются, а радиокнопки нет... есть в списке, и я могу стилизовать ‹li›, но не радиокнопки. Я пробовал и второй способ. Не уверен, правильно ли я его использовал, но он тоже не работает. - person Eva Dias; 23.08.2011
comment
Разместите здесь свой css (или соответствующие фрагменты), чтобы мы могли его проверить. - person JJ.; 23.08.2011
comment
Я не думаю, что проблема в css... проблема в том, как мне получить переключатели из кода, который у меня есть... Symfony генерирует формы сама по себе, поэтому такой код не отображается. - person Eva Dias; 23.08.2011

Вы можете справиться с этим с помощью symfony следующим образом:

  1. Дайте вашему радио вход класса css в функции symfony form configure()

    $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;
    }
    
person domi27    schedule 24.08.2011
comment
могу ли я использовать это так? $this-›widgetSchema['servico_id'] = new sfWidgetFormDoctrineChoice(array('model' =› $this-›getRelatedModelName('FeasyServico'), 'add_empty' =› false, 'method' =› 'getDescricao', 'несколько ' =› false, 'expanded' =› true), array('class' =› 'mySpecialRadio')); - person Eva Dias; 24.08.2011
comment
Да, это должно сработать. Вы получите ul с li, содержащими ваши входные данные формы - все с классом css mySpecialRadio! - person domi27; 24.08.2011
comment
если я что-то не так делаю, это не сработало... я не знаю, в чем здесь проблема :( - person Eva Dias; 25.08.2011
comment
Пожалуйста, покажите полученную форму html, чтобы я/мы могли проверить селектор css! - person domi27; 25.08.2011