Configurando o scroller no elemento do modelo
-
11-12-2019 - |
Pergunta
Estou usando mobiscroll com sublinhado.Eu tenho um modelo de sublinhado.Preciso fazer o .scroller em um elemento adicionado do template.
Aqui está o modelo:
<form>
<input type="text" id="startdate" name="startdate"/>
</form>
Aqui está a função de renderização na visualização:
var MyView = Backbone.View.extend({
template: render('auctioncreate'),
render: function() {
this.$el.empty().append(this.template);
$('#startdate').scroller(); // this does not work
}
});
render é uma função que carrega o html e o transforma em um modelo.Para completar, aqui está o código para a função render:
function render(tn, td) {
if(!render.tc) {
render.tc = {};
}
if(! render.tc[tn]) {
var td = 'assets/js/templates';
var tu = td + "/" + tn + ".html";
var ts;
$.ajax({
url: tu,
method: 'GET',
async: false,
dataType: 'html',
success: function(d) {
ts = d;
},
error: function(e) {
}
});
render.tc[tn] = ts;
}
return _.template(render.tc[tn]);
}
Tentei adicionar um javascript ondomready no próprio modelo.Não funciona imediatamente, mas funciona depois de uma atualização?!
$(function() {
$('#startdate').scroller(); // this work if I refresh once.
});
Basicamente, preciso aplicar o seletor de data e hora no elemento depois que ele for anexado ao dom.
Solução
O erro estava na função de renderização da View.
Em vez de:
$('#startdate')...
Deveria ter sido:
this.$('#startdate')...
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow