asp:Button disabled false for select on click 不起作用

asp:Button disabled false for select on click doesn't work

提问人:Hashka 提问时间:10/29/2020 最后编辑:Hashka 更新时间:10/29/2020 访问量:149

问:

我已经卡住了一段时间,我找不到解决这个问题的方法。

我想启用一个onClick按钮,但它不起作用:<select>

<div class="col-lg-12">

    <div class="form-group" style="overflow-y: scroll; height: auto; max-height: 545px;">

        <asp:Repeater ID="RepeaterCorrection" runat="server">

            <ItemTemplate>

                <label>
                    <asp:Literal ID="litCorLibelle" runat="server" Text='<%# Eval("DESCRIPTION")%>'></asp:Literal>
                </label>

                <asp:DropDownList ID="ddlCorChamp" runat="server" CssClass="form-control selectpicker"
                    data-live-search="true"></asp:DropDownList>
                <asp:RequiredFieldValidator ID="rfvDropDownList" ForeColor="Red" Display="Dynamic" runat="server"
                    ErrorMessage="Don't forget that field" ControlToValidate="ddlCorChamp"
                    InitialValue="Select something" />

                <p class="help-block"></p>

                <asp:HiddenField ID="hiddenCorIdChamp" runat="server" Value='<%# Eval("IDCHAMP") %>' />
                <asp:HiddenField ID="hiddenCorNameChamp" runat="server" Value='<%# Eval("NAMECHAMP")%>' />
                <asp:HiddenField ID="hiddenCorType" runat="server" Value='<%# Eval("TYPE")%>' />
            </ItemTemplate>

        </asp:Repeater>

    </div>

    <asp:Button ID="btnValid" runat="server" Text="Let's Enable this !"
        class="btn btn-primary btn-block" CausesValidation="False" UseSubmitBehavior="False" Enabled="True" />
</div>
//IT WORKS, IT IS DISABLED
$('Select[Champ=ID_REJECT]').prop('disabled', true);

//IT DOESN'T WORK, IT IS STILL DISABLED, EVEN WHEN I CLICK
$('#<%= btnValid.ClientID %>').click(function () {
    $('Select[Champ=ID_REJECT]').prop('disabled', false);
    //$('Select[Champ=ID_REJET]').removeAttr("disabled");
    //$('Select[Champ=ID_REJECT]').attr('disabled', false);
    return false;
});

我真的不明白为什么...... 你有什么想法吗?

asp.net 选择 OnClick 禁用 ASPBuButton

评论


答:

0赞 Jamshaid K. 10/29/2020 #1

这背后可能有几个原因:

原因 1
您在事件绑定中对按钮的 id 进行硬编码,如果您的 DOM 正在被修改,例如当您的按钮位于 .您需要做的是,修改您的按钮事件接线,如下所示:
jqueryContentPlaceHolder

$('#<%= btnValid.ClientID %>').click(function () {
    alert("Hey");
});

原因 2:默认情况下,服务器端按钮将始终执行此操作
,您可能希望通过在事件末尾添加语句来覆盖此行为。喜欢这个:
postbackreturn false;

$('#<%= btnValid.ClientID %>').click(function () {
    alert("Hey");
    return false; // This will tell the event that we do not want to proceed further with posting the data to server.
});

如果这两个解决方案中的任何一个对您有所帮助,请告诉我。

更新

由于您想启用/禁用您的元素,我建议使用方法来实现所需的效果。jqueryselectprop()

$('#<%= btnValid.ClientID %>').click(function () {
    $('Select[Champ=ID_REJECT]').prop("disabled", false);
    return false;
});

或者,您可以从 select 元素中删除 disabled 属性,如下所示:

$('#<%= btnValid.ClientID %>').click(function () {
    $('Select[Champ=ID_REJECT]').removeAttr("disabled"); // this will entirely remove the attribute
    return false;
});

评论

0赞 Hashka 10/29/2020
你好!谢谢你的建议!事实上,alert() 现在可以工作了。所以我试图在那之后放我的“真实”代码,但它不起作用......我想在单击时启用选择...
0赞 Jamshaid K. 10/29/2020
@Hashka 您可以简单地按照第二个原因在文件末尾添加语句,这样您就不会收到回发。return false;
0赞 Hashka 10/29/2020
已经试过了...& 仍然不起作用...(代码已更新)
0赞 Jamshaid K. 10/30/2020
@Hashka我可以在哪里看到这个选择元素?Champ=ID_Reject