codeigniter 如何在ci3中选择从数据库中提取的选项并在文本字段中自动填充结果?

j7dteeu8  于 2022-12-16  发布在  其他
关注(0)|答案(1)|浏览(95)

我想使选择选项从数据库中提取的代码3和显示结果的文本字段和跨度区域。我这样做,它成为一个在视图文件。然而,当选择,所有显示的数据只是数据从行名称。

<?php $query = $this->db->get('mydb_table'); ?>
<select id="select_id" required>
    <option>Select Account</option>
    <?php foreach ($query->result() as $d) : ?>
        <option value="<?= $d->row_name ?>">Account id. <?= $d->row_id ?></option>
    <?php endforeach ?>
</select>

<div class="input-group mb-3">
    <input id="account_name" type="text" required readonly/>
</div>
<div class="input-group mb-3">
    <input id="account_code" type="text" required readonly/>
</div>
<small>Account category: <span id="account_category"></span></small>

<script>
    $("#select_id").change(function(){
        $("#account_name").val($(this).val());
        $("#account_code").val($(this).val());
        $("#account_category").text($(this).text());
    }); 
</script>

我希望结果是所有的id都出现在选择选项中,当在输入字段中选择其中一个id时,它会根据所选的数据显示名称和代码数据,然后文本跨度显示类别。
也许在这张gif图片selectoption.gif
表名:mydb_table row =行标识,行名称,行代码,行类别row_id是主AUTO_INCREMENT
在我的数据库中看起来像:

INSERT INTO `mydb_table` (`row_id`, `row_name`, `row_code`, `row_category`) VALUES
(1, 'john Doe', 'bc34', 'premium'),
(2, 'Emili Doe', 'ac67', 'standard'),
(3, 'Jev Doe', 'abc2', 'premium'),
(4, 'Rachel Doe', '234a', 'standard');
tf7tbtn2

tf7tbtn21#

<option>中使用data属性,稍后在js中您将获得此data属性

<?php foreach ($query->result() as $d) : ?>
    <option value="<?= $d->row_id ?>" data-code="<?= $d->row_code ?>" data-category="<?= $d->row_category ?>" data-name="<?= $d->row_name ?>">Account Name : <?= $d->row_name ?></option>
<?php endforeach; ?>

然后,在<select>发生更改时添加侦听器

<script>
//please always set inside document ready function
$(document).ready(function() {
    $("#select_id").change(function(){
        $("#account_name").val($(this).data('name')); //get data-name attribute and set it to element with id account_name
        $("#account_code").val($(this).data('code')); //get data-code attribute and set it to element with id account_code
        $("#account_category").html($(this).data('category')); //get data-category attribute and set it to element with id account_category
    });
}); 
</script>

相关问题