这是我的UI截图。突出显示的是下拉列表
我想要什么?
当我选择Dropdown中的任何选项时,应该使用AJAX更新数据库中的特定行
以下是我写的代码。我只是个初学者,如果代码不整齐,请原谅!!
我正在使用Codeigniter
前端
<?php if( is_array( $fbrecords ) && count( $fbrecords ) > 0 )
foreach($fbrecords as $r) { ?>
<tr>
<td><?php echo $r->fullname; ?></td>
<td><?php echo $r->email; ?></td>
<td><?php echo $r->mobile; ?></td>
<td><?php echo $r->message; ?></td>
<td><?php echo $r->jtime; ?></td>
<td> <?php $data=array(
'name'=>'status',
'row' => '12px',
'id' => 'status',
'selected'=>'none',
'class'=>'statusClass'
);
$data_status = array(
'none' => 'none',
'A&A' => 'Attended & Acted',
'YTA' => 'Yet to Attend',
);
echo form_dropdown($data, $data_status, set_value('status')); ?> </td>
Ajax代码 - 我添加了一个Console.log来查看天气下一行下拉列表是否被选中
$(document).ready( function() {
$(".statusClass").change(function(event) {
//var dropDown = document.getElementById("status");
//var status = dropDown.options[dropDown.selectedIndex].value;
var status = $("select.statusClass").val();
console.log(status);
jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>" + "index.php/user_authentication/user_data_status_submit",
dataType: 'json',
data: {status:status},
success: function(data){
if (result)
{
alert("success");
}
}
});
});
});
控制器
public function user_data_status_submit(){
$data = array(
'status' => $this->input->post('status'),
);
//Either you can print value or you can send value to database
echo json_encode($data);
$this->login_database->feedback_update($data);
}
*前3行的控制台输出显示1行选择三次 - 以下是*的
的Screeshots
答案 0 :(得分:1)
您正在检查所有选择框的值。而不是您获得要更新的值以获取结果this
关键字将使用。
$(document).ready( function() {
$(".statusClass").change(function(event) {
var status = $(this).val();