У меня есть Модель с 1 входом. Также у меня есть Коллекция. Теперь, когда я добавляю модель в коллекцию, я хочу установить фокус на ее ввод. Чтобы быть точным, мне нужно установить фокус на ввод только что созданной модели.
Однако я не могу заставить его работать. Вот моя функция, которая добавляет представление модели к представлению коллекции:
addOne: function(InvoiceItem) {
var view = new InvoiceItemView({model: InvoiceItem});
this.$('tr[data-id="'+InvoiceItem.get('after')+'"]').after(view.render().el);
this.$('tr[data-id="'+InvoiceItem.cid+'"]').css('background', 'green');
this.$('tr[data-id="'+InvoiceItem.cid+'"] input').focus();
},
Проблема в третьем вызове: this. $ ('Tr [data-id = "' + InvoiceItem.cid + '"] input') .focus ();
ничего не делает. И это странно, потому что кажется, что я могу выполнять манипуляции с DOM только над корневым элементом tr
, и ни с чем, кроме этого.
Мне кажется, что jQuery не знает, что элемент существует, что странно, потому что когда я делаю предупреждение (this. $ ('Tr [data-id = "' + InvoiceItem.cid + '" ] input '). length)
Я получаю 1, что означает, что элемент существует.
Что я здесь делаю не так?