想要使用Ajax更新数据库中每一行的下拉列表

时间:2016-07-11 10:29:16

标签: javascript php jquery ajax codeigniter

这是我的UI截图。突出显示的是下拉列表

Highlighted is the Dropdown

我想要什么?

当我选择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

Shows the first row o/p thrice after selecting 2nd and 3rd row DropDown

1 个答案:

答案 0 :(得分:1)

您正在检查所有选择框的值。而不是您获得要更新的值以获取结果this关键字将使用。

$(document).ready(  function() {
$(".statusClass").change(function(event) {
    var status = $(this).val();