提问人:Hashka 提问时间:10/29/2020 最后编辑:Hashka 更新时间:10/29/2020 访问量:149
asp:Button disabled false for select on click 不起作用
asp:Button disabled false for select on click doesn't work
问:
我已经卡住了一段时间,我找不到解决这个问题的方法。
我想启用一个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;
});
我真的不明白为什么...... 你有什么想法吗?
答:
0赞
Jamshaid K.
10/29/2020
#1
这背后可能有几个原因:
原因 1
您在事件绑定中对按钮的 id 进行硬编码,如果您的 DOM 正在被修改,例如当您的按钮位于 .您需要做的是,修改您的按钮事件接线,如下所示:jquery
ContentPlaceHolder
$('#<%= btnValid.ClientID %>').click(function () {
alert("Hey");
});
原因 2:默认情况下,服务器端按钮将始终执行此操作
,您可能希望通过在事件末尾添加语句来覆盖此行为。喜欢这个:postback
return 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.
});
如果这两个解决方案中的任何一个对您有所帮助,请告诉我。
更新
由于您想启用/禁用您的元素,我建议使用方法来实现所需的效果。jquery
select
prop()
$('#<%= 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
评论