0

我在一个页面上有几个 HTML 元素。每当页面上下文无效并重新渲染时,元素都会重新渲染,而没有所选选项的视觉提示。

如果我使用 $('.select1 option:selected') 检查选择,则返回所选选项。但是,它不会呈现为选中状态。如果是下拉菜单,则显示第一个元素。如果它是多行选择,则第一个 (firefox) 或最后一个 (chrome) 元素将显示为灰色的选择行。

如果我再次单击所选元素,它将显示为已选中。

有人知道怎么修这个东西吗?

4

2 回答 2

2

我在这里实现了解决方案: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'));
}

哈克,但有效。

于 2012-10-22T14:16:12.113 回答
0

也许你可以使用 $('.select1').trigger("change"); 功能。

于 2012-10-22T13:24:21.733 回答