2010-11-02 3 views
2

Я использую jeditable, но хочу использовать функцию для сохранения данных на клиенте. Это прекрасно работает, но я также хочу использовать функцию для обработки события onblur. Мой код выглядит следующим образом:jeditable onblur function

$('#answerlist li').editable(function(value, settings) { 
      OnAnswerTextEdit(this, value); 
      return (value); 
     }, { onblur: function(value) { 
      OnAnswerTextEdit(this, value); 
     } 
     }); 

Это вроде работает, но jeditable окно редактирования не закрывается после события ONBLUR. Кто-нибудь знает, как я могу закрыть сеанс редактирования с потерей фокуса или каким-то образом захватить мои изменения с помощью функции, когда текстовое поле редактирования теряет фокус. Я не хочу подавать форму в любое время - я хочу, чтобы все изменения были локальными. Огромное спасибо.

ответ

5

Я использовал следующий, чтобы решить эту проблему (используется сброс(), чтобы закрыть редактор, но применяется изменения «вручную», установив HTML:

$('#answerlist li').editable(function(value, settings) { 
      OnAnswerTextEdit(this, value); 
      return (value); 
     } 
     , { onblur: function(value) { 
      OnAnswerTextEdit(this, value); 
      this.reset(value); 
      $(this).html(value); 
      return (value); } 
     }); 
+0

Это обходит проверку входных данных для «onsubmit». Любая идея, как применить его – Nayn

+0

'onsubmit: функция (настройки, тд) { \t входные вар = JQ (тд) .find ('вход'); \t JQ (это) .validate ({ \t \t правила. : { \t \t \t 'значение': { \t \t \t \t цифры: истинные \t \t \t} \t \t}, \t \t сообщения: { \t \t \t 'actionItemEntity.name': { \t \t \t \t номер: 'Только цифры допускаются' \t \t \t} \t \t} \t}); \t console.log ("this:% o", this); \t return (jq (this) .valid()); }, ' – Nayn