BackboneJS, метод сохранения срабатывает дважды - PullRequest
0 голосов
/ 15 января 2019

У меня есть приложение, в котором я не использую Backbone Views, только модели Backbone.

Ниже приведена структура.

#html
<tr>
  <td >Personal</td>
  <td id="personal-data" data-content="<?=str_replace('"',"'",json_encode($data))?>">
     <input type="text" name="name" placeholder="Name"><br>
     <input type="text" name="address" placeholder="Address">
  </td>
<tr>
#PersonalModel.js
var Personal = Backbone.Model.extend({
   urlRoot: "/api/personal"
});
$(document).ready(function () {
  var personal = new Personal($('td#personal-data').data('content'));
  $('td#data-ept *').on('change', function () {
    personal.set(this.name, this.value);
    personal.save()

  });
});

this.name всегда равно одному из сохраняемых или обновляемых атрибутов модели.

1 Ответ

0 голосов
/ 15 января 2019

Проблема заключалась в том, что я также работал с плагином, который проверял форму. Поэтому каждый раз, когда я менял входное значение, менялся div. Я решил проблему с этим кодом

$(document).ready(function () {
  var personal = new Personal($('td#personal-data').data('content'));
  $('td#data-ept *[name]').on('change', function () {
    personal.set(this.name, this.value);
    personal.save()
  });
});
...