根据db值选择一个选项会显示另一个选择的值,但是在检查选择的oprion时会设置正确的值-Yii PHP

时间:2018-12-01 07:09:38

标签: yii

我正在php控制器中创建一个表。循环中的每一行都有下拉列表。如果有一个studentid的值,则根据数据库值将下拉选项设置为选中状态,为此我已经写了条件。在加载页面时,它始终显示选项为``Other''(选中),但是在检查元素时已选中属性设置为数据库中的正确值。在我的情况下,如果值是“其他”,则应将其设置为选中状态,并显示一个文本框。如果该值不是“其他”,则仅应使用所选值进行下拉显示。

以下是我在控制器中的代码。请帮忙。

    foreach ($students as $student) {//! for each student studentid, student admission number and name is send to form
            $teacher = Teachercomments::model()->findByAttributes(array('studentid' => $student->studentid, 'courseid' => $courseid, 'batchid' => $batchid, 'date' => $date, 'academicid' => $academic->academicid, 'userid' => Yii::app()->user->userid, 'usertypeid' => Yii::app()->user->usertypeid));
            if (isset($teacher)) {
                $selectvariable = '';
                $getmerits = explode('@', $teacher->merit);
                $othermerits = $getmerits[0];
                $orginalmerits = str_replace('Other@', '', $teacher->merit);
                $getdemerits = explode("@", $teacher->demerit);
                $otherdemerits = $getdemerits[0];
                $orginaldemerits = str_replace('Other@', '', $teacher->demerit);
                $sendtable = $sendtable . '<tr><td data-id="' . $student->studentid . '">' . $sl . '</td><td>' . $student->student_firstname . " " . $student->student_middlename . " " . $student->student_lastname . '</td><td><select name="merits" id="merits" class="merits" onchange="GetSelectedTextValue(this,' . $sl . ')"><option value="Good Discipline" ' . ($teacher->merit === "Good Discipline" ? "selected=selected" : "selected=false") . '>Good Discipline</option><option value="Good Listener" ' . ($teacher->merit == "Good Listener" ? "selected=selected" : "selected=false") . '>Good Listener</option><option value="Other" ' . (strpos($teacher->merit, 'Other@') === 0 ? "selected=selected" : "selected=false") . '>Other</option></select><input type="text" name="othermerits" id="othermerits-' . $sl . '" class="merits" value="' . $orginalmerits . '" ' . ($othermerits == "Other" ? "style=\"display:visible\" " : "style=\"display:none\" ") . '/></td><td><select name="demerits" class="demerits" onchange="GetSelecteddemeritValue(this,' . $sl . ')"><option value="Careless" ' . ($teacher->demerit == "Careless" ? "selected=selected" : "selected=false") . '>Careless</option><option value="Bad Listener" ' . ($teacher->demerit == "Bad Listener" ? "selected=selected" : "selected=false") . '>Bad Listener</option><option value="Other" ' . (strpos($teacher->demerit, 'Other@') === 0 ? "selected=selected" : "selected=false") . '>Other</option><option value = "test">test</option></select><input type="text" name="otherdemerits" id="otherdemerits-' . $sl . '" class="demerits" value="' . $orginaldemerits . '" ' . ($otherdemerits == "Other" ? "style=\"display:visible\" " : "style=\"display:none\" ") . '/></td></tr>';
             }
           $sl = $sl + 1;
     }

    echo $sendtable;

下面是我的输出屏幕截图以及inspect。

output

0 个答案:

没有答案
相关问题