首页 > 解决方案 > 在codeigniter中显示来自数据库ajax​​ json的选择选项

问题描述

我想从数据库中获取数据并将其显示以编辑表单。当我使用 json 数据时,我在将数据显示为select option字段表单时遇到了问题。它仍然显示option value id升序,而不是value id selected从数据库中显示。

在示例中,我需要更改lessonidnumber 7。在中,它显示来自数字的select option教训,但是当我单击时,它显示为数字。id1select optionid7

这是jquery代码

function edit(id){

    $.ajax({
        url : url + 'Lesson/find_by_id',
        type: 'POST',
        data: {id: id},
        success: function(response){
             var jsonData = JSON.parse(response);

             $('input[name="id"]').val(jsonData.id);
            
             $('select[name="lesson"]').val(jsonData.lesson_id);
             $('textarea[name="description"]').val(jsonData.description);

             
        }
    });

    $('#editModal').modal('show');
}

这是表单代码

 <select class="form-control select-search" name="lesson" style="width: 100%" required="">
    <?php foreach($lesson as $row): ?>
            <option value="<?=$row->lesson_id?>" > <?=strtoupper($row->name)?> </option>
    <?php endforeach; ?>
</select>

这是控制器代码

public function find_by_id(){
    $lesson_id = $this->input->post('id');
    $data     = $this->lesson->find_lesson($lesson_id);

    echo json_encode($data);
}

你知道如何修复代码吗?

谢谢

标签: jqueryajaxcodeigniter

解决方案


推荐阅读