如果显示隐藏潜水,禁用单选按钮
Disable Radio Buttons If Hidden Div Displayed
我有一个Asp.net
web应用程序,在页面上有一个具有OnTextChanged
功能的asp:textbox
,该功能检查我的数据库并显示错误消息(如果需要)。
我的问题是我想禁用单选按钮。我试着把它添加到我的代码后面,也使用了JQuery
,但我无法让它工作,因为消息有时会延迟几秒钟。
HTML
<asp:Label ID="removeUserNotExist" runat="server" Text="The user entered does not exist. Please try again." Visible="false" style="color: red"></asp:Label>
<asp:Label ID="removeUserAlreadyListed" runat="server" Text="The user entered has already been submitted and is currently in the process of being removed from the list." Visible="false" style="color: red"></asp:Label>
<div class="form-group">
<asp:Label runat="server" AssociatedControlID="txtRemoveUser" CssClass="col-sm-offset-2 col-sm-3 control-label">Enter Name To Be Removed</asp:Label>
<div class="col-sm-3">
<asp:TextBox runat="server" ID="txtRemoveUser" CssClass="form-control" AutoPostBack="true" OnTextChanged="txtRemoveUser_TextChanged" />
</div>
</div>
<div class="form-group">
<asp:Label runat="server" CssClass="col-sm-offset-2 col-sm-3 control-label">
<b>Request For</b>
</asp:Label>
<div class="col-sm-3">
<label class="radio-inline">
<asp:RadioButton runat="server" ID="rbRemoveYourself" GroupName="RemoveRequestFor" /> Yourself
</label>
<label class="radio-inline">
<asp:RadioButton runat="server" ID="rbRemoveOtherUser" GroupName="RemoveRequestFor" /> Other User
</label>
</div>
</div>
当前JQuery(用于禁用我的按钮)
$("#MainContent_txtRemoveUser").on("blur", function ()
{
disableButton();
});
function disableButton()
{
var isRbRemoveSelfChecked = $("#MainContent_rbRemoveYourself").is(':checked')
var isRbRemoveOtherChecked = $("#MainContent_rbRemoveOtherUser").is(':checked')
if ($('#MainContent_txtRemoveUser').val() != '' && $("#MainContent_removeUserNotExist").is(':visible') || $("#MainContent_removeUserAlreadyListed").is(':visible'))
{
$("#MainContent_btnRemoveUser").prop('disabled', true);
}
else if ($('#MainContent_txtRemoveUser').val() != '' && isRbRemoveSelfChecked)
{
$("#MainContent_btnRemoveUser").prop('disabled', false);
}
else if ($('#MainContent_txtRemoveSubmitterName').val() == '' && isRbRemoveOtherChecked)
{
$("#MainContent_btnRemoveUser").prop('disabled', true);
$("#MainContent_txtRemoveSubmitterName").on("blur", function ()
{
if ($('#MainContent_txtRemoveSubmitterName').val() != '')
{
$("#MainContent_btnRemoveUser").prop('disabled', false);
}
else
{
$("#MainContent_btnRemoveUser").prop('disabled', true);
}
});
}
else
{
$("#MainContent_btnRemoveUser").prop('disabled', true);
}
}
代码隐藏
protected void txtRemoveUser_TextChanged(object sender, EventArgs e)
{
string connection = ConfigurationManager.ConnectionStrings["PaydayLunchConnectionString1"].ConnectionString;
SqlConnection conn = new SqlConnection(connection);
#region Checks the 'Users' db
conn.Open();
SqlCommand cmd1 = new SqlCommand("SELECT 1 FROM Users WHERE Name = @Name", conn);
cmd1.Parameters.AddWithValue("@Name", txtRemoveUser.Text);
SqlDataReader rd1 = cmd1.ExecuteReader();
if (rd1.HasRows)
{
removeUserNotExist.Visible = false;
rbRemoveYourself.Enabled = false; (This is what I tried adding)
}
else
{
removeUserNotExist.Visible = true;
rbRemoveYourself.Enabled = true; (This is what I tried adding)
}
conn.Close();
#endregion
}
我还尝试了以下JQuery
$("#MainContent_txtRemoveUser").on("blur", function ()
{
disableButton();
if ($('#MainContent_removeUserNotExist').text() == '')
{
$('#MainContent_rbRemoveYourself').prop('disabled', true);
}
});
我想要的是,如果显示<asp:Label ID="removeUserNotExist">
或<asp:Label ID="removeUserAlreadyListed"
,我希望禁用我的单选按钮。
更改此
<asp:Label ID="removeUserNotExist" runat="server" Text="The user entered does not exist. Please try again." Visible="false" style="color: red"></asp:Label>
<asp:Label ID="removeUserAlreadyListed" runat="server" Text="The user entered has already been submitted and is currently in the process of being removed from the list." Visible="false" style="color: red"></asp:Label>
使用此
<asp:Label ID="removeUserNotExist" runat="server" Visible="false" style="color: red"></asp:Label>
<asp:Label ID="removeUserAlreadyListed" runat="server" Visible="false" style="color: red"></asp:Label>
OnTextChanged Event : Set your Label Value
然后调用服务器端的Javascript函数,
function disableradioButton() {
if ($('#MainContent_removeUserNotExist').text() != '')
{
$('#MainContent_rbRemoveYourself').prop('disabled', true);
}
}
ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(), "Javascript:disableradioButton();", true);
相关文章:
- 多个单选按钮组相互干扰
- 是否可以禁用jquery中的单个单选按钮
- Javascript:无法获取变量中的单选按钮值
- 通过ajax到php文件获取单选按钮值
- 互斥单选按钮和相应的输入字段
- 用于选择MVC3中单选按钮值的JavaScript
- 如何获取单选按钮的多个实例的选定单选按钮值
- react testUtils模拟点击单选按钮而不触发onchange
- 当选择组中的单选按钮时,jQuery addClass
- Angularjs无法将单选按钮与嵌套范围内的模型绑定
- 客户端单选按钮列表验证
- Javascript:图像与单选按钮的值不匹配
- 如何在Javascript中将单选按钮值保存到cookie中
- 单击时如何更改单选按钮的CSS
- 使用按钮和单选按钮提交表单,但始终使用相同的值
- 注入Javascript以选择具有指定值的所有单选按钮
- 复选框/单选按钮-添加所选项目的总价
- 如何使用单选按钮设置cookie值
- Html按钮点击事件未触发单选按钮
- 如果显示隐藏潜水,禁用单选按钮