Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Радиокнопка
Форумы портала PHP.SU » » Вопросы новичков » Радиокнопка

Страниц (2): [1] 2 »
 

1. kry - 10 Декабря, 2011 - 20:29:19 - перейти к сообщению
Люди, нужна помощь. Имеется код:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
  2.  
  3. foreach($attributes as $attribute) {      
  4.    ?>
  5.     <div class="vmAttribChildDetail" style="float:left; margin:3px;">
  6.         <label for="<?php echo $attribute['titlevar'] ?>_field"><?php echo $attribute['title'] ?></label>:
  7.     <?php
  8.    foreach ( $attribute['options_list'] as $options_item ) { ?>
  9.             <div>
  10.             <?php if( isset( $options_item['display_price']) ) : ?>
  11.             <input type="radio" checked style="margin-top: 3px;" id="<?php echo $attribute['titlevar'] ?>_field" name="<?php echo $attribute['titlevar'].$attribute['product_id'] ?>" value="<?php echo $options_item['base_var'] ?>"><?php echo $options_item['base_value'] ?> (<?php echo $options_item['sign'].$options_item['display_price'] ?>)<?php else : ?>
  12.             <input type="radio" style="margin-top: 3px;" id="<?php echo $attribute['titlevar'] ?>_field" name="<?php echo $attribute['titlevar'].$attribute['product_id'] ?>" value="<?php echo $options_item['base_var'] ?>"><?php echo $options_item['base_value'] ?><?php endif; ?>
  13.             </div>
  14.     <?php } ?>
  15.     </div>
  16.     <br style="clear:both;" />
  17.     <?php        
  18. } ?>


Необходимо, чтобы в форме первый элемент radio был заранее помечен (активным). Для этого я вставил атрибут checked в строке 11 - input type="radio" checked. Но этот вариант не проходит.
Если вставить атрибут checked в строке 12, то активным всегда становиться последний элемент radio в форме, сколько бы я их (элементов) не сделал.
Как решить проблему новичку?
2. Данил_123 - 10 Декабря, 2011 - 20:45:36 - перейти к сообщению
<input type="radio" name="radio" checked>
3. kry - 10 Декабря, 2011 - 20:56:17 - перейти к сообщению
Данил_123, не помогло все-равно выбран последний элемент в форме
4. Данил_123 - 10 Декабря, 2011 - 20:57:32 - перейти к сообщению
kry так вы напиште в нужном месте
5. Panoptik - 10 Декабря, 2011 - 20:59:06 - перейти к сообщению
попробуйте вот так
PHP:
скопировать код в буфер обмена
  1.  
  2.     <?PHP if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
  3.      
  4.     foreach($attributes as $attribute) {      
  5.        ?>
  6.         <div class="vmAttribChildDetail" style="float:left; margin:3px;">
  7.             <label for="<?PHP echo $attribute['titlevar'] ?>_field"><?PHP echo $attribute['title'] ?></label>:
  8.         <?PHP
  9.         $flag = false;
  10.        foreach ( $attribute['options_list'] as $options_item ) { ?>
  11.                 <div>
  12.                 <input type="radio"
  13.                        style="margin-top: 3px;"
  14.                        id="<?=$attribute['titlevar'];?>_field"
  15.                        name="<?=$attribute['titlevar'].$attribute['product_id'];?>"
  16.                        value="<?=$options_item['base_var'];?>"
  17.                        <?PHP if(!$flag) : ?> checked="true"   <?PHP endif; ?>
  18.                         />
  19.                        <?=$options_item['base_value'];?>
  20.                        <?PHP if(!$flag) : $flag=true; ?> (<?=$options_item['sign'].$options_item['display_price'];?>) <?PHP endif; ?>
  21.                 </div>
  22.         <?PHP } ?>
  23.         </div>
  24.         <br style="clear:both;" />
  25.         <?PHP        
  26.     } ?>
  27.  
6. Bio man - 10 Декабря, 2011 - 20:59:39 - перейти к сообщению
kry пишет:
PHP:
скопировать код в буфер обмена
  1. <?PHP if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
  2.  
  3. foreach($attributes as $attribute) {      
  4.    ?>
  5.     <div class="vmAttribChildDetail" style="float:left; margin:3px;">
  6.         <label for="<?PHP echo $attribute['titlevar'] ?>_field"><?PHP echo $attribute['title'] ?></label>:
  7.     <?PHP
  8.    $i=0;
  9.    foreach ( $attribute['options_list'] as $options_item ) { ?>
  10.             <div>
  11.             <?PHP $i++;
  12.              if( isset( $options_item['display_price']) ) : ?>
  13.             <input type="radio"<?PHP ($i==1) ? echo 'checked' : '' ?> style="margin-top: 3px;" id="<?PHP echo $attribute['titlevar'] ?>_field" name="<?PHP echo $attribute['titlevar'].$attribute['product_id'] ?>" value="<?PHP echo $options_item['base_var'] ?>"><?PHP echo $options_item['base_value'] ?> (<?PHP echo $options_item['sign'].$options_item['display_price'] ?>)<?PHP else : ?>
  14.             <input type="radio" style="margin-top: 3px;" id="<?PHP echo $attribute['titlevar'] ?>_field" name="<?PHP echo $attribute['titlevar'].$attribute['product_id'] ?>" value="<?PHP echo $options_item['base_var'] ?>"><?PHP echo $options_item['base_value'] ?><?PHP endif; ?>
  15.             </div>
  16.     <?PHP } ?>
  17.     </div>
  18.     <br style="clear:both;" />
  19.     <?PHP        
  20. } ?>

как вариант... в общем суть в том, что нужно определить первый элемент
7. kry - 10 Декабря, 2011 - 21:03:18 - перейти к сообщению
Ошибся: ничего не выбрано все элементы неактивны. Пишу в строке 11, чтобы отмечался первый элемент. Может какая проверка выполняется?
(Добавление)
Bio man, ошибка в строке 13...
8. Bio man - 10 Декабря, 2011 - 21:08:27 - перейти к сообщению
kry, какая? что пишет?
(Добавление)
понял, вот так правильно
PHP:
скопировать код в буфер обмена
  1. <?PHP ($i==1) ? echo 'checked' : ''; ?>
9. Данил_123 - 10 Декабря, 2011 - 21:13:49 - перейти к сообщению
kry мне интересно зачем так много <?php ?> ?
10. kry - 10 Декабря, 2011 - 21:14:41 - перейти к сообщению
Bio man пишет:
kry, какая? что пишет?
(Добавление)
понял, вот так правильно
PHP:
скопировать код в буфер обмена
  1. <?PHP ($i==1) ? echo 'checked' : ''; ?>


Нет все-равно:
Parse error: parse error in Z:\home\xxx.ru\www\components\путь\файл.php on line 13
(Добавление)
Данил_123 пишет:
kry мне интересно зачем так много <?php ?> ?

Данил_123, сначала был вариант выбора SELECTом:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
  2.  
  3. foreach($attributes as $attribute) {           
  4.    ?>
  5.     <div class="vmAttribChildDetail" style="float: left;text-align:right;margin:3px;">
  6.         <label for="<?php echo $attribute['titlevar'] ?>_field"><?php echo $attribute['title'] ?></label>:
  7.     </div>
  8.     <div class="vmAttribChildDetail" style="float:left;margin:3px;">
  9.         <select class="inputboxattrib" id="<?php echo $attribute['titlevar'] ?>_field" name="<?php echo $attribute['titlevar'].$attribute['product_id'] ?>">
  10.                 <?php foreach ( $attribute['options_list'] as $options_item ) : ?>
  11.                 <?php if( isset( $options_item['display_price']) ) : ?>
  12.                 <option value="<?php echo $options_item['base_var'] ?>"><?php echo $options_item['base_value'] ?> (<?php echo $options_item['sign'].$options_item['display_price'] ?>)</option>
  13.                 <?php else : ?>
  14.                 <option value="<?php echo $options_item['base_var'] ?>"><?php echo $options_item['base_value'] ?></option>
  15.                 <?php endif; ?>
  16.         <?php endforeach; ?>
  17.         </select>
  18.     </div>
  19.     <br style="clear:both;" />
  20.    
  21. <?php
  22. } ?>


Встала необходимость сделать radio
11. Bio man - 10 Декабря, 2011 - 21:20:02 - перейти к сообщению
замените echo на print
12. Данил_123 - 10 Декабря, 2011 - 21:21:00 - перейти к сообщению
kry вы меня не поняли.. Почему в коде так много <?php ?>.. Почему не сделаете так:<?php
тут весь код
?>
13. kry - 10 Декабря, 2011 - 21:22:57 - перейти к сообщению
Bio man пишет:
замените echo на print


Заменил везде - не помогло...
14. Panoptik - 10 Декабря, 2011 - 21:23:53 - перейти к сообщению
kry вы пробовали мой вариант?
15. kry - 10 Декабря, 2011 - 21:26:42 - перейти к сообщению
Panoptik пишет:
kry вы пробовали мой вариант?


Panoptik, попобовал - получилось. Но к первому элементу добавились круглые скобки ().
Не знаю корректно ли?

 

Powered by ExBB FM 1.0 RC1