fastammo 发表于 2014-12-16 11:23:51

复选下拉值怎么回传到model?

本帖最后由 fastammo 于 2014-12-17 11:26 编辑

//view
<?php foreach($tag as $row){ ?>
<select name="test[<?php echo $row['id'];?>]">
    <option value="1">高</option>
    <option value="2">低</option>
</select>
<?php } ?>

//controllers
public function test_controllers()
{
      //这样正确吗?
      $test=$this->input->post('test');
               
      $data['test'] = $this->test_model->get_value($test);
      
      $this->load->view('test', $data);
}

//model
public function test_model($test)
{
      foreach($test as $row){
         ....
      }
}



Closer 发表于 2014-12-16 11:44:35

本帖最后由 Closer 于 2014-12-16 11:46 编辑

如果這 MVC 都是同一個網頁
第一次讀取因為還沒送出
所以 POST 沒值,會造成 $test 為空,產生錯誤
應先判斷 POST 有值才執行

然後關於 <select> 內選了個 <option> 後送出
他會輸出你選的 <option> 的 value
取用方式則是從 <select name="test">

也就是若你選了 <option value="2">低</option>
則用 $this->input->post('test');
會取得 " 2 "

static/image/hrline/line3.png

感覺你問的好像不是我上面說的 XD

 

fastammo 发表于 2014-12-16 13:16:15

分别是view、model、controllers三个档案,确实你说的跟我的问题状况不一样,我想知道多个下拉选单怎么传值到model,单抓一个下拉可以用$test= $this->input ->post('test');取值,但多个该如何取呢?

Closer 发表于 2014-12-16 13:25:36

我只會用最笨的方式:
for($x=0;$x<=4;$x++){
    $test[$x] = $this->input->post('test'.$x);
}
$data['test'] = $this->test_model->get_value($test);

fastammo 发表于 2014-12-16 15:12:06

可以参考一下,这是我网路找的方法

$test=$this->input->post(NULL, TRUE);

foreach($test as $key=>$val)
{
$data['test'] = array('id'=>$val);
}
页: [1]
查看完整版本: 复选下拉值怎么回传到model?