【问题标题】:How set option value selected for select tag with existing values如何使用现有值设置为选择标签选择的选项值
【发布时间】:2016-09-26 18:30:48
【问题描述】:

$output 数组返回选项 vlaues 用于我打印为 <?php print_r($store);?> 的选择标记,当我尝试更新此表单时,我需要将 store 显示为选定值,并且选择列表必须具有其他现有与之前相同的值来自$output

型号:

public function getStore() {
        $this->db->select('*');
        $store = $this->db->get('tbl_store_info');
        $data = $store->result();

        $output = array();
        $output[]='<option value="" disabled selected>Select Store</option>';
        foreach ($data as $row) {
            $output[]= '<option value="' . $row->store_id . '">' . $row->store . '</option>';
        }
        return $output;
    }

控制器:

public function editEmployee($id='') {
        $empData=  $this->CommonModel->getEmployee_by_ID($id);
        $data['emp_list'] = $empData[0];

        $data['store']=  $this->CommonModel->getStore();
        $data['user_role']=  $this->CommonModel->getUserRole();
        $data['msg']=  $this->session->flashdata('usermsg');

        $this->load->view('common/topnav');
        $this->load->view('common/sidebar');
        $this->load->view('common/header');
        $this->load->view('common/title-header');
        $this->load->view('employee/editEmployee',$data);
        $this->load->view('common/footer');
    }

查看:

<div class="form-group col-sm-5">
 <label for="store">Store:</label>
  <select class="form-control" id="store" name="store" required>
    <option value="<?php echo $emp_list->store_id; ?>" selected><?php echo $emp_list->store; ?></option>
    <?php print_r($store);?>
  </select>
</div>

我只想将此 &lt;option value="&lt;?php echo $emp_list-&gt;store_id; ?&gt;" selected&gt;&lt;?php echo $emp_list-&gt;store; ?&gt;&lt;/option&gt; 作为选定值。

【问题讨论】:

  • 不清楚您想要实现什么以及您是如何尝试的。你能用其他/更清楚的话重新问你的问题吗?并粘贴更多相关代码?
  • 我用更清晰的文字编辑了问题,请看@Jeff
  • 仍然没有足够的代码来找出你在这里做什么。我已经可以说的一件事是,print_r($store) 不是正确的选择。创建一个foreach($store as $html) 并回显$html

标签: php html codeigniter


【解决方案1】:

由于您在模型中构建 HTML(这通常是一种不好的做法),因此您无法根据 id 选择视图。

我将重写整个内容以在视图而不是模型中输出 HTML。

但是,如果您正在寻找快速解决方法,只需将控制器中的 $id 发送到模型中,并在 foreach 中添加如下内容:

foreach ($data as $row) {
  $option_selected = '';
  if ($row->store_id == $id) {
    $option_selected = 'selected';
  }
  $option_str = "<option value='$row->store_id' $option_selected>$row->store</option>";
}

【讨论】:

  • 你有比“不工作”更多的信息吗?没有它,我能为你做的不多。一些特定的错误信息?日志?
猜你喜欢
  • 2020-03-13
  • 2012-08-14
  • 2015-07-08
  • 1970-01-01
  • 2018-06-22
  • 2012-10-31
  • 2019-09-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多