使用cookie更改值后,检查选择控件的状态?

时间:2012-03-05 03:16:03

标签: jquery

我实现了一些代码(下面)来检查ContentID的状态并隐藏或显示DIV:

        <select id="ContentID" name="ContentID">
          <option selected="selected" value="00">Menu</option>
          <option value="01">Topic</option>
        </select>
        <input id="htmlEdit" type="checkbox" />

        $("#ContentID")
            .val($.cookie("ContentID_dropdown"))
            .change(function () {
                if ($(this).val() == "00")
                    $("#htmlSwitch").show();
                else
                    $("#htmlSwitch").hide();
                $.cookie("ContentID_dropdown", $(this).val(), { expires: 365, path: '/' });
                refreshGrid("Content");
            });

此代码仅在ContentID的值更改时才起作用。我需要的是在使用cookie更改值后也会检查值。

更改函数中检查.val()的代码不会检查任何内容,也不会在使用cookie设置初始值时运行。因此,如果我的cookie设置为Topic,那么它将被忽略,而htmlSwitch DIV则不会出现。有没有办法可以让它检查初始值并隐藏或显示htmlSwitch id?

1 个答案:

答案 0 :(得分:3)

如果在绑定change后立即触发该怎么办?

$("#ContentID")
        .val($.cookie("ContentID_dropdown"))
        .change(function () {
            if ($(this).val() == "00")
                $("#htmlSwitch").show();
            else
                $("#htmlSwitch").hide();
            $.cookie("ContentID_dropdown", $(this).val(), { expires: 365, path: '/' });
            refreshGrid("Content");
        })
        .trigger('change');