可以't设置任意'选中'在IE 11中使用JQuery/Telerik的值

Can't set any 'checked' value using JQuery/Telerik in IE 11

本文关键字:JQuery 的值 Telerik 设置 任意 选中 IE 可以      更新时间:2023-09-26

问题

在用户控件(.ascx)中,我有一个特定的单选按钮列表,其中有两个值为"On"answers"Off"的单选按钮,单击该列表时,我希望它为其他一些也具有相同"On"或"Off"值的单选按钮设置所选的单选按钮。

当控制单选按钮列表设置为"打开"时,我想检查那些相关单选按钮中的"关闭"单选按钮。当它设置为"关闭"时,将那些依赖的开关切换回"打开"。

此外,我还有一些复选框,需要对相同的控制"开"/"关"做出响应。当它处于"打开"状态时,它们应处于未选中状态,而当它位于"关闭"状态时应处于选中状态。

我现在拥有的

以下是我所拥有的它在Chrome和Firefox中运行得很好,但在IE 11中运行不好

在Page_Load()中,我有:

 Me.rblController.Items(0).Attributes.Add("OnClick", "ToggleOtherStuff();")
 Me.rblController.Items(1).Attributes.Add("OnClick", "ToggleOtherStuff();")

每个单选按钮列表响应控制器rbl看起来是这样的,它们有类"customerRadioButtonList":

   <asp:RadioButtonList ID="rblCustomer1" CssClass="customerRadioButtonList" runat="server" RepeatDirection="Horizontal">
                <asp:ListItem>On</asp:ListItem>
                <asp:ListItem>Off</asp:ListItem>
            </asp:RadioButtonList>

复选框也很简单,它们有类"AlertsCheckBox":

<asp:CheckBox ID="cbxAlertCheck1" CssClass="AlertsCheckBox" runat="server" />

以下是响应控制器无线电的点击而运行的功能:

function ToggleOtherStuff() {        
    if ($telerik.$('#<%=rblController.ClientID%> input[type="radio"][value="On"]').first().is(':checked')) {          
        alert('On Clicked'); // This fires OK in IE too
        $telerik.$('.customerRadioButtonList input[type="radio"][value="Off"]').prop('checked', true);                      
        $telerik.$('AlertsCheckBox input').prop('checked', false);
    } else {
        $telerik.$('.customerRadioButtonList input[type="radio"][value="On"]').each(function () {
            if (this.disabled == false) {
                this.checked = true;
            }
        });
        $telerik.$('AlertsCheckBox input').each(function () {
            if (this.disabled == false) {
                this.checked = true;
            }
        });
    }
}

我完全不明白为什么这在IE中不起作用。我想也许Telerik Ajax应该受到谴责,我删除了使用此控件的页面.aspx中的AjaxManagerProxy,但这没有影响。正如我所看到的,由于一些调试警报(),事件正在正常启动;我输入了

我还验证了我使用的Jquery选择器确实返回了值,我甚至可以读取"checked"属性值但我无法设置"checked"属性。设置它没有任何效果,所有单选按钮和复选框都不会更改。怎么回事?

看起来这是Telerik的问题:

http://www.telerik.com/forums/setting-checked-property-to-decorated-checkboxes-with-javascript-not-working-on-ie11