标签文本不会更新,除非我调试或将鼠标悬停在下拉菜单IE9上

时间:2014-05-01 18:06:18

标签: javascript jquery asp.net internet-explorer-9

我很难过这个。 代码完美地运行,按预期进行循环。 它甚至更新了文本。 但是除非我正在调试并单步执行代码,否则屏幕上的文本不会更新。 或者如果我将鼠标悬停在我的下拉菜单上。

任何人都知道为什么下面的代码会更新屏幕上的标签? 请注意,在任何其他版本的IE或任何其他浏览器上,此功能都可以正常使用。

<asp:RadioButtonList id="stuff" CssClass="radiolist" runat="server"> 
    <asp:ListItem Value="1" Text="1" Selected="True" />
    <asp:ListItem Value="2" Text="2" />
</asp:RadioButtonList>

<script type="text/javascript">
$('input[type=radio]').change(function () {
    var checked = $(".radiolist input:checked").val();
    setCheckBoxText(checked);
});

function setCheckBoxText(option) {
    console.log(option);
    var chk = $(".chkAgree input");
    var lbl = $(".chkAgree label");

    if (option == "1") {
        lbl.text("1");
        chk.attr('checked', false);
        $(".btnNext").attr("disabled", "disabled");
    }
    if(option == "2") {
        lbl.text("2");
        chk.attr('checked', false);
        $(".btnNext").attr("disabled", "disabled");
    }
}
</script>

编辑,$(function(){});发生在母版页中。

2 个答案:

答案 0 :(得分:0)

缺少开始报价? lbl.text(1&#34);

答案 1 :(得分:0)

所以看起来我想出了如何解决它。

而不是     lbl.text(“不同文字”); 使用     lbl.html(“不同的文字”);

我不知道为什么这在IE9中不起作用,但它似乎解决了我的问题。