Javascript 标签文本不';除非我调试或将鼠标悬停在下拉菜单IE9上,否则无法更新
我被这件事难住了。 这段代码工作得很好,它按预期通过了循环。 它甚至更新了文本。 但是屏幕上的文本不会更新,除非我正在调试并逐步完成代码。 或者如果我将鼠标悬停在下拉菜单上 有人知道为什么下面的代码会更新屏幕上的标签吗? 请注意,这在任何其他版本的IE或任何其他浏览器上都可以正常工作Javascript 标签文本不';除非我调试或将鼠标悬停在下拉菜单IE9上,否则无法更新,javascript,jquery,asp.net,internet-explorer-9,Javascript,Jquery,Asp.net,Internet Explorer 9,我被这件事难住了。 这段代码工作得很好,它按预期通过了循环。 它甚至更新了文本。 但是屏幕上的文本不会更新,除非我正在调试并逐步完成代码。 或者如果我将鼠标悬停在下拉菜单上 有人知道为什么下面的代码会更新屏幕上的标签吗? 请注意,这在任何其他版本的IE或任何其他浏览器上都可以正常工作 <asp:RadioButtonList id="stuff" CssClass="radiolist" runat="server"> <asp:ListItem Value="1"
<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>
$('input[type=radio]')。更改(函数(){
var checked=$(“.radiolist输入:checked”).val();
setCheckBoxText(选中);
});
函数setCheckBoxText(选项){
console.log(可选);
var chk=$(“.chkAgree输入”);
变量lbl=$(“.chkAgree标签”);
如果(选项==“1”){
lbl.文本(“1”);
chk.attr(“已检查”,错误);
$(.btnNext”).attr(“禁用”、“禁用”);
}
如果(选项==“2”){
lbl.文本(“2”);
chk.attr(“已检查”,错误);
$(.btnNext”).attr(“禁用”、“禁用”);
}
}
编辑,$(函数(){});发生在母版页中。缺少起始报价?lbl.text(1“;所以看起来我找到了解决方法 而不是 lbl.文本(“不同文本”); 使用 html(“不同文本”)
我不知道为什么这在IE9中不起作用,但它似乎解决了我的问题。事实上,这段代码很好。我将实际代码编辑为繁重,以确保在web上发布时的安全性。我会在绑定中使用currentTarget,只是为了确保正确的单选按钮会被更改。如果您对currentTarget进行console.log,您可以看到元素是如何运行的已更改。这将允许您在不受调试干扰的情况下查看对象的状态,并使更改正确发生。console.log向我显示了正确的项。此外,我正在尝试更改完全不同的对象上的标签。我将尝试currentTarget,看看是否可以找到其他内容。Thx