2015-05-02 4 views
0

Я использую x-editable. Я читал документы, но я не мог понять, как его реализовать. http://vitalets.github.io/x-editable/docs.htmljQuery запустить ajax при изменении значения диапазона

Я хочу, чтобы мой вызов ajax выполнялся, когда я изменял значение диапазона в таблице, но я не мог понять, как это сделать.

Вот мой текущий сценарий. Я хочу, чтобы иметь возможность обновлять определенные элементы на основе их классов. Например, когда я изменяю значение электронной почты (у него есть класс с именем email), я запустил вызов ajax, который меняет адрес электронной почты. То же самое относится к имени и паролю, но я не знаю, как обнаружить изменения этих значений.

HTML

<table class="table table-striped table-bordered table-hover dataTable" id="datatable"> 
    <tbody> 
     <tr> 
      <td>Your name</td> 
      <td><span class="xedit name"><?php echo $name; ?></span> 
      </td> 
     </tr> 
     <tr> 
      <td>Email</td> 
      <td><span class="xedit email"><?php echo $user_email; ?></span></td> 
     </tr> 
     <tr> 
      <td>Password</td> 
      <td><span class="xedit password"><?php echo $password; ?></span></td> 
     </tr> 
    </tbody> 
</table> 

JQuery

$(document).ready(function() { 
    $.fn.editable.defaults.mode = 'popup'; 
    $('.xedit').editable(); 
    $(document).on('click', '.editable-submit', function() { 
     var y = $('.input-sm').val(); 
     var z = $(this).closest('td').children('span'); 
     $.ajax({ 
      url: "process.php?data=" + y, 
      type: 'GET', 
      success: function (s) { 
       if (s == 'status') { 
        $(z).html(y); 
       } 
       if (s == 'error') { 
        alert('Error Processing your Request!'); 
       } 
      }, 
      error: function (e) { 
       alert('Error Processing your Request!!'); 
      } 
     }); 
    }); 
}); 

ответ

1

У меня есть нулевой опыт, я не прочитать код, только что проверил HTML из всплывающего окна ... Я хотел бы запустить Ajax после того, как вы отправите форму:

$('form.editableform').submit(function(e) { 
    e.preventDefault(); // don't submit multiple times 
    var x = $('.userid').val(); // it's a hidden value in the page, so userid is static for each update. 
    var y = $('.input-sm').val(); 
    var z = $(this).closest('td').children('span');//This is not okay 
    $.ajax({ 
     url: "process.php?id=" + x + "&data=" + y, 
     type: 'GET', 
     success: function (s) { 
      if (s == 'status') { 
       $(z).html(y); 
      } 
      if (s == 'error') { 
       alert('Error Processing your Request!'); 
      } 
     }, 
     error: function (e) { 
      alert('Error Processing your Request!!'); 
     } 
    }); 
    this.submit(); // use the native submit method of the form element 
}); 

Я не уверен, что он будет работать (приоритет или если submit() DETEC ts введите ключ), но вы можете попробовать ... пожалуйста, дайте мне знать.

+0

Спасибо, но я решил проблему с помощью собственного решения (я должен был внимательно изучить ее документацию), как показано ниже. Когда я пытаюсь сохранить вход с классом .user-email, приведен код ниже. '$ ('. User_email'). On ('save', function (e, editable) { alert (" это тест "); });' – salep