代码之家  ›  专栏  ›  技术社区  ›  Andhika R.K.

set_value()数组字段选择选项codeigniter not working

  •  0
  • Andhika R.K.  · 技术社区  · 6 年前

    我试图创建动态服务器端选择输入,提交后,设置值('nilai[]')不显示任何值。

    下面是我的控制器:

        $this->load->library('form_validation');
    
        $this->form_validation->set_rules('nilai[]', 'Nilai Pantuhir', 'required');
    
        if ($this->form_validation->run() == FALSE)
        {
          $this->load->view('pantuhir/pantuhir_form');
        } else {
          $list_pantuhir = $this->input->post('nilai');
    
          foreach ($list_pantuhir as $key => $value) {
            echo $value."<br />";
          }
        }
    

    下面是我的观点:

        <div class="form-group <?php if(form_error('nilai[]')){echo 'has-error';} ?>">
          <select class="form-control" name="nilai[]">
            <option value="">- Choose-</option>
            <option value="<?php echo $rowPerson['intUserId'].'-'.'A';?>" <?php if(set_value('nilai[]') == $rowPerson['intUserId'].'-'.'A') { echo 'selected'; } ?>>A</option>
            <option value="<?php echo $rowPerson['intUserId'].'-'.'B';?>" <?php if(set_value('nilai[]') == $rowPerson['intUserId'].'-'.'B') { echo 'selected'; } ?>>B</option>
         </select>
         <?php echo form_error('nilai[]'); ?>
        </div>
    

    如果验证不正确,我想显示set_value并在选项字段中选择。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Pradeep    6 年前

    希望这对你有帮助:

    使用 set_select 而不是 set_value 是的。如果使用菜单,则在表单验证抛出任何错误后,此函数允许您显示所选的菜单项

    应该是这样的:

    <div class="form-group <?php if(form_error('nilai[]')){echo 'has-error';} ?>">
        <select name="nilai[]" >
          <option value="" >---Choose----</option>
          <option 
                  value="<?=$rowPerson['intUserId'].'-A';?>" 
                  <?=set_select('nilai[]', $rowPerson['intUserId'].'-A');?>
          >A</option>
          <option 
                  value="<?php echo $rowPerson['intUserId'].'-B';?>" 
                  <?=set_select('nilai[]', $rowPerson['intUserId'].'-B');?> 
          >B</option>
        </select>
    <?php echo form_error('nilai[]'); ?>
    </div>
    

    更多信息: https://www.codeigniter.com/user_guide/helpers/form_helper.html#set_select

        2
  •  0
  •   AbdulAhmad Matin harish    6 年前

    在视图中使用此代码

    <div class="form-group <?php if(form_error('nilai[]')){echo 'has-error';} ?>">
      <select class="form-control" name="nilai[]">
        <option value="">- Choose-</option>
        <option value="<?php echo $rowPerson['intUserId'].'-'.'A';?>" <?php if(set_value('nilai[]',rowPerson['intUserId'].'-'.'A') == $rowPerson['intUserId'].'-'.'A') { echo 'selected'; } ?>>A</option>
        <option value="<?php echo $rowPerson['intUserId'].'-'.'B';?>" <?php if(set_value('nilai[]',$rowPerson['intUserId'].'-'.'B') == $rowPerson['intUserId'].'-'.'B') { echo 'selected'; } ?>>B</option>
     </select>
     <?php echo form_error('nilai[]'); ?>
    </div>