我在一个页面上有几个 HTML 元素。每当页面上下文无效并重新渲染时,元素都会重新渲染,而没有所选选项的视觉提示。
如果我使用 $('.select1 option:selected') 检查选择,则返回所选选项。但是,它不会呈现为选中状态。如果是下拉菜单,则显示第一个元素。如果它是多行选择,则第一个 (firefox) 或最后一个 (chrome) 元素将显示为灰色的选择行。
如果我再次单击所选元素,它将显示为已选中。
有人知道怎么修这个东西吗?
我在这里实现了解决方案: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选择的值:
Template.packageViewer.rendered = function(){
$('.groupselect').val(Session.get('group'));
$('.tagselect').val(Session.get('tag'));
}
哈克,但有效。
也许你可以使用 $('.select1').trigger("change"); 功能。