【问题标题】:updating a textfield based on radio button selection根据单选按钮选择更新文本字段
【发布时间】:2014-08-22 07:46:44
【问题描述】:

我有大约 25 个单选按钮,因此只能选择一个。在选择特定单选按钮时,将在此表单的风险等级文本字段上执行 ajax 更新。而且,这个文本字段应该在每个单选按钮选择上得到唯一的更新。

这怎么可能。拜托,我真的被困在这里了。 我已经通过正常的单选按钮代码完成了每一个。 我在相关下拉文本字段中使用了 ajax 更新,但是,我不确定同样的事情在这里是否合适。 我想我在这里弄错了。任何事情都会很有帮助。

                   <table id="department_permissions_table" class="display">
                    <thead>
                    <tr style="background-color: lavender"><td style="background-color: white"></td><td><b>Effect</b></td>
                    <td></td><td></td>
                    <td></td><td></td></tr>
                    <tr>
                        <td style="background-color: lavender"><b>Likelihood of recurrence</b></td>
                        <td style="background-color: #f5f5f5"><b>Negligible</b></td>
                        <td style="background-color: #f5f5f5"><b>Minor</b></td>
                        <td style="background-color: #f5f5f5"><b>Moderate</b></td>
                        <td style="background-color: #f5f5f5"><b>Major</b></td>
                        <td style="background-color: #f5f5f5"><b>Catastrophic</b></td>
                    </tr>
                    </thead>
                    <tbody>
                    <tr>
                        <td style="background-color: #f5f5f5"><b>Almost certain</b></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>11,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>12,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>13,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>14,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>15,'uncheckValue'=>null)); ?></td>

                    </tr>

                    <tr>
                        <td style="background-color: #f5f5f5"><b>Likely</b></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>21,
                                'uncheckValue'=>null,
                                'ajax' => array(
                                    'type'=>'POST',
                                    'url'=>Yii::app()->createUrl('Cinvestigation/load'),
                                    'update'=>'#risk_grade',
                                    'data'=>array('region_id'=>'js:this.value'),
                                )
                            )); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>22,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>23,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>24,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>25,'uncheckValue'=>null)); ?></td>

                    </tr>


                    <tr>
                        <td style="background-color: #f5f5f5"><b>Possible</b></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>31,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>32,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>33,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>34,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>35,'uncheckValue'=>null)); ?></td>

                    </tr>

                    <tr>
                        <td style="background-color: #f5f5f5"><b>Unlikely</b></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>41,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>42,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>43,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>44,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>45,'uncheckValue'=>null)); ?></td>

                    </tr>

                    <tr>
                        <td style="background-color: #f5f5f5"><b>Rare</b></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>51,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>52,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>53,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>54,'uncheckValue'=>null)); ?></td>
                        <td><?php echo $form->radioButton($model,'a11',array('value'=>55,'uncheckValue'=>null)); ?></td>

                    </tr>



                    </tbody>
                </table>

            </div>

        </td>
    </tr>
    </tbody>
</table>

<table class="table">
    <tbody>
    <tr>
        <td><div class="span2" style="width:auto; margin-top:5px; margin-bottom: 5px">Grade risk: </div></td>
        <td><?php echo $form->textFieldRow($model,'risk_grade',array('class'=>'span2','maxlength'=>100)); ?>
        </td>
    </tr>
    <tr>

【问题讨论】:

    标签: php html ajax yii radio-button


    【解决方案1】:

    我认为您不需要为此任务更新 ajax。您可以使用 jQuery 轻松做到这一点,您只需要为单选按钮值和要为文本字段设置的字符串提供某种映射器

    首先为每个单选按钮设置类

    <?php echo $form->radioButton($model,'a11',array('value'=>51,'uncheckValue'=>null, 'class'=>'radioClass')); ?>
    

    比设置文本字段的类

    <?php echo $form->textFieldRow($model,'risk_grade',array('class'=>'textClass span2','maxlength'=>100)); ?>
    

    然后在javascript中附加事件监听器

    <script>
        $(function(){
            $(".radioClass").click(function(){
                $(".textClass").val($(this).val());
            });
        });
    </script>
    

    此代码会将单选按钮的值单击到文本字段的值中

    现在您可能需要某种映射器来处理单选按钮值和要显示的文本,这可能是由服务器端生成的

    希望能帮到你

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-20
      • 2012-12-20
      • 2018-08-04
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      相关资源
      最近更新 更多