我想使多个输入具有循环功能,并且我填充的每个数据都具有不同的值,看来这段代码是有效的,但它只是将1个数据转换为3个具有相同值的数据,我想要的是可以为表单中的每个数据取不同的值。
或者也许我需要一个模型来进行这个?在这里奋斗了几天,请帮助
这是我期望的形式循环结果 image 1
但是我得到的是image 2
controller.php
public function aksi_soal3(){
$ps5 = $this->input->post('soal');
$ps6 = $this->input->post('opsi_a');
$ps7 = $this->input->post('opsi_b');
$ps11 = $this->input->post('kunci_jawaban');
$data = array(
array(
'soal' => $ps5,
'opsi_a' => $ps6,
'opsi_b' => $ps7,
'kunci_jawaban' => $ps11
),
array(
'soal' => $ps5,
'opsi_a' => $ps6,
'opsi_b' => $ps7,
'kunci_jawaban' => $ps11
),
array(
'soal' => $ps5,
'opsi_a' => $ps6,
'opsi_b' => $ps7,
'kunci_jawaban' => $ps11
)
);
$this->db->insert_batch('soal',$data);
redirect('guru/index');
}
view.php
<!DOCTYPE html>
<html lang="en" >
<head>
<title></title>
</head>
<body>
<?php
$i=1;
while ($i<=3){
foreach($tampilan as $soal){
?>
<form action="<?php echo base_url()?>guru/aksi_soal3" method="post">
<?php
echo "
<input type='hidden' name='kode_soal' value='$soal->kode_soal''>
<textarea placeholder='soal' name='soal'></textarea>
<input type='text' name='opsi_a' placeholder='jawaban a'>
<input type='text' name='opsi_b' placeholder='jawaban b'>
<input type='text' name='kunci_jawaban' placeholder='Kunci jawaban' >
</div>
</div>
";
?>
<?php
$i=$i+1;
}}
?>
<button type="submit" class="btn">Selesai</button>
</form>
</html>
答案 0 :(得分:2)
<div class="after-add-more">
<input type="text"name="StudentID[]" value="">
<div class="col-md-5">
<div class="form-group remove">
</div>
</div>
</div>
<div class="form-group">
<button class="btn btn-success btn-fill add-more">Add More</button>
</div>
jQuery(document).ready(function() {
$("body").on("click",".add-more",function(){
var html = $(".after-add-more:first").clone();
$(html).find(".remove").html("<br><a class='btn btn-danger btn-fill remove'>Remove</a>");
$(".after-add-more").last().after(html);
});
$("body").on("click",".remove",function(){
$(this).parents(".after-add-more").remove();
});
});
您需要这样的内容:http://jsfiddle.net/cudkfraj/
当您单击添加更多按钮时,文本字段的填充量将与单击的数量一样多,然后可以使用方括号[]将表单字段的name属性更改为类似于该代码,以便将您的值另存为数组
答案 1 :(得分:1)
您需要执行以下操作
控制器
public function aksi_soal3(){
$ps5 = $this->input->post('soal');
$ps6 = $this->input->post('opsi_a');
$ps7 = $this->input->post('opsi_b');
$ps11 = $this->input->post('kunci_jawaban');
$data = array();
foreach($ps5 as $key=>$value) {
$data[] = array(
'soal' => $value,
'opsi_a' => $ps6[$key],
'opsi_b' => $ps7[$key],
'kunci_jawaban' => $ps11[$key]
);
}
$this->db->insert_batch('soal',$data);
redirect('guru/index');
}
查看
<input type='hidden' name='kode_soal[]' value='$soal->kode_soal''>
<textarea placeholder='soal[]' name='soal'></textarea>
<input type='text' name='opsi_a[]' placeholder='jawaban a'>
<input type='text' name='opsi_b[]' placeholder='jawaban b'>
<input type='text' name='kunci_jawaban[]' placeholder='Kunci jawaban' >