Jquery не работал с! Текстовый плагин требует JS с основой

0

Я создал файл шаблона home.html для моего домашнего вида с формой в нем:

<form class="adform">
   <input type="button" id="addcompareitem" class="addcompareitem" value="Add compare item" />
</form>

Это код моего домашнего вида:

var HomeView = Backbone.View.extend({
  initialize: function() {
     item1.disableCompareBtn();
  },
  render : function(){
     this.$el.html(homeTemplate);
  }
});
return HomeView;

Здесь метод disableCompareBtn:

this.disableCompareBtn = function(){
    if(compareitems == null || compareitems.length < 2){
        $('#addcompareitem').prop('disabled', true);
        console.log(1);
    }

};

Проблема: при инициализации домашнего представления кнопка все еще активируется, но работает console.log(1).

Любая идея, что вызвало это. Благодарю.

Теги:
requirejs
backbone.js

1 ответ

1
Лучший ответ

Похоже, вы запускаете деактивацию до того, как HTML существует. Моя ставка заключается в том, что если вы console.log($('#addcompareitem')) вы не получите никаких элементов, возвращаемых вам. Вместо этого попробуйте отключить кнопки сразу после запуска this.$el.html(homeTemplate).

Просто для ясности, инициализация вызывается, когда что-то построено, а затем вы вызываете render на построенный объект.

  • 0
    Я понял, и теперь это работает. Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню