Php 检测'上最后编辑的元素;外部';点击

Php 检测'上最后编辑的元素;外部';点击,php,jquery,ajax,codeigniter,Php,Jquery,Ajax,Codeigniter,奇怪的标题,但也不是那么普通的情况/问题 我在html表格行中有可编辑字段: <?php foreach($userlist as $key=>$val): ?> <tr class="content" id="example" data-id="<?php echo $val->id; ?>"> <td valign="top" class="editable" data-delid="<?php echo $val-&

奇怪的标题,但也不是那么普通的情况/问题

我在html表格行中有可编辑字段:

 <?php foreach($userlist as $key=>$val): ?>
  <tr class="content" id="example" data-id="<?php echo $val->id; ?>">
    <td valign="top" class="editable" data-delid="<?php echo $val->id; ?>" data-name="id" ><?php echo $val->id; ?></td>
    <td valign="top" class="editable" data-name="username"><?php echo $val->username; ?></td>
    <td valign="top" class="editable" data-name="firstname"><?php echo $val->firstname; ?></td>
    <td valign="top" class="editable" data-name="lastname"><?php echo $val->lastname; ?></td>
    <td valign="top" class="editable" data-name="email"><?php echo $val->email; ?></td>
    <td valign="top" class="editable" data-name="phone"><?php echo $val->phone; ?></td>
    <td valign="top" class="editable" data-name="activated"><?php echo $val->activated; ?></td>
    <td valign="top" class="editable" data-name="role"><?php echo $val->role; ?></td>
    <!--<td><input class="see_more" type="button" value="Reveal More" /></td>-->
  </tr>
  <tr class="test_table">

  </tr>
  <?php endforeach; ?>


如果希望在单击文本字段时发送AJAX请求以保存某些数据,则JQuery blur事件会执行此操作(当元素失去焦点时触发)。在您的情况下,它将类似于:

$('.editable').blur(function() {
  $.ajax('/backend_function_to_save_data', {
    type: 'POST',
    dataType: 'json',
    data: {
      value: $(this).val()
    },
    error: function(jqXHR, textStatus, errorThrown) {
      // Handle error
    },
    success: function(data, textStatus, jqXHR) {
      // Success message?
    }
  });
});

您是否尝试过JQuery“模糊”事件?它在元素失去焦点()时触发。我已经检查了它,但我不确定如何使用它,在本例中。。。在文档体上单击(某处)应启动ajax更新。。。顺便说一句,我试着检查是否选择了行hasClass,但是。。。单击表行以切换所选类(已在代码中,我想应该保留该功能)-因此,第二次单击-无需进一步操作的数据…:(是的,似乎是合理的,但现在我有一个奇怪的问题->元素没有失去焦点(omg)…我将重新检查代码…这似乎是唯一可能的解决方案。谢谢!我现在可能要自杀了。:DNo问题,很高兴帮助!
$('.editable').blur(function() {
  $.ajax('/backend_function_to_save_data', {
    type: 'POST',
    dataType: 'json',
    data: {
      value: $(this).val()
    },
    error: function(jqXHR, textStatus, errorThrown) {
      // Handle error
    },
    success: function(data, textStatus, jqXHR) {
      // Success message?
    }
  });
});