【问题标题】:HTML Select loses selection when re-rendered in Meteor在 Meteor 中重新渲染时,HTML Select 会丢失选择
【发布时间】:2012-12-27 06:52:41
【问题描述】:
我在一个页面上有几个 HTML 元素。每当页面上下文无效并重新渲染时,元素都会重新渲染,而没有所选选项的视觉提示。
如果我使用 $('.select1 option:selected') 检查选择,则返回所选选项。但是,它不会呈现为选中状态。如果是下拉菜单,则显示第一个元素。如果是多行选择,则第一个 (firefox) 或最后一个 (chrome) 元素会显示为灰色的选择行。
如果我再次单击所选元素,它会显示为已选中。
有人知道如何解决这个问题吗?
【问题讨论】:
标签:
html
select
rendering
meteor
【解决方案1】:
我在这里实现了解决方案:Meteor form state not being saved
点击时将所选值存储在会话变量中:
Template.packageViewer.events({
'change .tagselect': function(){
Session.set('tag', $('.tagselect :selected').html());}
,
'change .groupselect': function(){
Session.set('group', $('.groupselect :selected').html());}
,
'change .packageselect': function(){
Session.set('package', $('.packageselect :selected').val());}
});
然后在post-render函数中设置select selected值:
Template.packageViewer.rendered = function(){
$('.groupselect').val(Session.get('group'));
$('.tagselect').val(Session.get('tag'));
}
Hacky,但有效。
【解决方案2】:
也许你可以使用 $('.select1').trigger("change");功能。