在CodeIgniter中,可以通过使用jQuery创建的额外动态行,并将其传递给控制器的数组。下面是一种实现方法:
var dynamicRows = []; // 创建一个数组来存储动态行的数据
// 当点击添加按钮时,创建一个新的动态行
$('#addRowBtn').click(function() {
var newRow = $('<tr></tr>'); // 创建一个新的行
// 创建行中的列,并将数据存储在数组中
var col1 = $('<td></td>').text($('#input1').val());
var col2 = $('<td></td>').text($('#input2').val());
var col3 = $('<td></td>').text($('#input3').val());
// 将列添加到行中
newRow.append(col1);
newRow.append(col2);
newRow.append(col3);
// 将行添加到表格中
$('#tableBody').append(newRow);
// 将行的数据存储到数组中
var rowData = {
input1: $('#input1').val(),
input2: $('#input2').val(),
input3: $('#input3').val()
};
dynamicRows.push(rowData);
});
class MyController extends CI_Controller {
public function processDynamicRows() {
$dynamicRows = $this->input->post('dynamicRows'); // 获取传递的数组数据
// 对数组数据进行处理
foreach ($dynamicRows as $row) {
// 处理每一行的数据
$input1 = $row['input1'];
$input2 = $row['input2'];
$input3 = $row['input3'];
// 进行相应的操作,例如存储到数据库或进行其他业务逻辑处理
// ...
}
}
}
$('#submitBtn').click(function() {
// 将动态行的数据传递给控制器
$.ajax({
url: 'mycontroller/processDynamicRows',
method: 'POST',
data: { dynamicRows: dynamicRows },
success: function(response) {
// 处理控制器返回的响应
// ...
}
});
});
这样,通过以上步骤,就可以将从jQuery创建的额外动态行传递给CodeIgniter中的控制器,并进行相应的处理。请注意,以上代码仅为示例,实际应用中可能需要根据具体需求进行适当的修改和调整。
领取专属 10元无门槛券
手把手带您无忧上云