2011-11-08 46 views
6

我在Yii中使用單選按鈕,無論我做什麼我都無法獲取所選按鈕的值以發佈。我相信它只是一件簡單的事情。我不使用radioButtonList,因爲我希望每個按鈕都存在於它自己的div中,並且上面有一個圖像。Yii單選按鈕

這裏是認爲我的代碼...

<?php $this->pageTitle=Yii::app()->name; ?> 

<h1>Welcome to <i><?php echo CHtml::encode(Yii::app()->name); ?></i></h1> 

<div class="form"> 
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'lead_form', 
'enableAjaxValidation'=>false, 
)); ?> 
<h3>Choose Your Prize!</h3> 

<div id="prizes"> 
<div class="prize"> 
<h3>Paypal</h3> 
<?php echo $form->radioButton($model,'user_prize',array('value'=>1)); ?> 
</div> 
<div class="prize"> 
<h3>Check</h3> 
<?php echo $form->radioButton($model,'user_prize',array('value'=>2)); ?> 
</div> 
<div class="prize"> 
<h3>AlertPay</h3> 
<?php echo $form->radioButton($model,'user_prize',array('value'=>3)); ?> 
</div> 
<div class="prize"> 
<h3>Iphone 4</h3> 
<?php echo $form->radioButton($model,'user_prize',array('value'=>4)); ?> 
</div> 
<div class="prize"> 
<h3>Ipad 2</h3> 
<?php echo $form->radioButton($model,'user_prize',array('value'=>5)); ?> 
</div> 
<div class="prize"> 
<h3>Custom</h3> 
<?php echo $form->radioButton($model,'user_prize',array('value'=>6)); ?> 
</div> 
</div> 
<h3>Enter Your Email</h3> 
<div id="mainemail"> 
<div class="row"> 
    <?php echo $form->labelEx($model,'user_email'); ?> 
    <?php echo $form->textField($model,'user_emhttp://stackoverflow.com/editing- helpail'); ?> 
    <?php echo $form->error($model,'user_email'); ?> 
</div> 

<div> 
    <?php echo $form->errorSummary($model); ?> 
</div> 

<div class="row buttons"> 
    <?php echo CHtml::submitButton('Submit'); ?> 
</div> 

endWidget(); ?>

回答

12
<?php echo $form->radioButton($model,'user_prize',array('value'=>1,'uncheckValue'=>null)); ?> 
<?php echo $form->radioButton($model,'user_prize',array('value'=>2,'uncheckValue'=>null)); ?> 
<?php echo $form->radioButton($model,'user_prize',array('value'=>3,'uncheckValue'=>null)); ?> 
<?php echo $form->radioButton($model,'user_prize',array('value'=>4,'uncheckValue'=>null)); ?> 
<?php echo $form->radioButton($model,'user_prize',array('value'=>5,'uncheckValue'=>null)); ?> 

只需添加

'uncheckValue'=>空

在htmlOption陣列

它會運行

+2

人你剛纔救了我的一天。由於這個不直觀的功能,我被困在一整天*。 – hijarian

+0

介意它也會生成具有相同id的HTML標記的多個輸入,這會破壞一些HTML邏輯 –

+1

WTF。我有這個相同的問題...真的嗎?認真的,甚至在這裏發生了什麼?無論如何,謝謝22francis,你是一個救星! – train

1

在CHtml :: activeRadioButtonList的第三個參數(htmlOptions)中有一個名爲'template'的選項。你應該看看。