基本上,我试图添加Radio Buttons一个脚本文件,当用户单击另一个按钮时,该脚本文件将删除所有选定的按钮。基本上它将阻止用户选择1个以上的Radio Button。但是,我不能。这是我的Java脚本代码:

    $().ready(function () {
    var $allAccountSelectionRadios = $('.AccountSelectionRadio > input:radio');
    $allAccountSelectionRadios.click(function () {
        $allAccountSelectionRadios.not(this).each(function () {
            this.checked = false;

        });
    });
});


这是我的asp.net代码:

<head runat="server">
<title>Lab 11 - Exception Handling and Error Logging</title>
<script src="Scripts/jquery-3.0.0.js"></script>
<script src="script/AccountPageScript.js" type="text/javascript"></script>
</head>

<body>
    <form id="form1" runat="server">
        <div id="Div1" runat="server">
            <asp:Panel ID="AccountPanel" runat="server" GroupingText="Account Details" Visible="true">
                <asp:Repeater ID="AccountInfoRepeater" runat="server" Visible="true">
                    <HeaderTemplate>
                            <table>
                            <thead>
                                <asp:TableHeaderCell ColumnSpan="2" runat="server" HorizontalAlign="Left">Account Id</asp:TableHeaderCell>
                                <asp:TableHeaderCell runat="server" HorizontalAlign="Left">Account Type</asp:TableHeaderCell>
                                <asp:TableHeaderCell runat="server" HorizontalAlign="Left">Balance</asp:TableHeaderCell>
                                <asp:TableHeaderCell runat="server" HorizontalAlign="Left">Currency</asp:TableHeaderCell>
                            </thead>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <tr>
                            <td>
                                <asp:RadioButton ID="AccountSelectionRadioButton" runat="server" />
                            </td>
                            <td>
                                <asp:Label ID="AccountIDLabel" runat="server" Text='<%# Eval("Id") %>' />
                            </td>
                            <td>
                                <asp:Label ID="AccountTypeLabel" runat="server" Text='<%# Eval("Type") %>' />
                            </td>
                            <td>
                                <asp:Label ID="AmountLabel" runat="server" Text='<%# Eval("Amount") %>' />
                            </td>
                            <td>
                                <asp:Label ID="CurrencyLabel" runat="server" Text='<%# Eval("Currency") %>' />
                            </td>
                        </tr>
                    </ItemTemplate>
                    <FooterTemplate>
                        </table>
                    </FooterTemplate>
                </asp:Repeater>
                <div></div>
                <asp:Label ID="EnterAmountLabel" runat="server" Text="Enter Amount: " />
                <asp:TextBox ID="WithdrawalAmountTextBox" runat="server" />
                <asp:Button ID="SubmitButton" runat="server" Text="Submit" />
                <div></div>
                <asp:CustomValidator ID="CustomValidator" runat="server" ErrorMessage="You have to select at least one account " OnServerValidate="ValidateAccountIdSelection" Display="None" />
                <asp:RequiredFieldValidator ID="RequiredFieldValidator" runat="server" ErrorMessage="You have to enter a double value" ControlToValidate="WithdrawalAmountTextBox" Display="None" />
                <asp:CompareValidator ID="CompareValidator" runat="server" ErrorMessage="You have to enter a double value " ControlToValidate="WithdrawalAmountTextBox" Type="Double" Operator="DataTypeCheck" Display="None" />
                <div></div>
                <asp:ValidationSummary ID="ValidationSummary" runat="server" />
            </asp:Panel>
            <asp:Panel ID="ErrorPanel" runat="server" Visible="false">
                <asp:Label ID="SimpleBankErrorMessage" runat="server" />
            </asp:Panel>
        </div>
    </form>
</body>


您是否知道导致此问题的原因,或者是否有任何链接可以回答此问题。

谢谢大家,祝你有美好的一天!

编辑:

这是HTML生成的代码:

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
    theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>


<script src="/WebResource.axd?d=pynGkmcFUV13He1Qd6_TZDo7pde1PlC3CEuIL05u8Q1xzcqV3PrxQf6BV-yOWDawu00wwYzaAVDc3H21VtA9QA2&amp;t=635588690558757176" type="text/javascript">    </script>


<script src="/WebResource.axd?d=x2nkrMJGXkMELz33nwnakICvsGmK5SdM9dk67DGoGLRbDkaJ4AV4SDiDiYXmeJzOvX1FlDmSjt4uSO7vYhQSbfgakaHhNd17j5pdlKG7J5s1&amp;t=635588690558757176" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function WebForm_OnSubmit() {
if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;
return true;
    }
//]]>
</script>

最佳答案

你为什么不做这个服务器端???与C#。
您所有的单选按钮都是runat =“ server”,因此您可能还需要事件监听器来检查它们并进行检查。

$().ready(function () {
var $allAccountSelectionRadios = $('.AccountSelectionRadio > input:radio');
$allAccountSelectionRadios.click(function () {
    $allAccountSelectionRadios.not(this).each(function () {
        this.attr('checked',false);
    });
});


this.attr('checked',false);就是我做到的方式
但是无法记住它是否可以与ASP.Net事件侦听器一起使用。

关于javascript - 无法访问Java脚本文件夹,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37742692/

10-12 12:21
查看更多