我正在尝试使用jQuery设置复选框的checked属性,jQuery代码工作正常,但我在codebehind中遇到了问题:
particular.click(function () {
company.removeAttr('checked');
particular.attr('checked', 'true');
});
公司和特别是复选框的名称,jQuery代码工作正常,我的问题是在代码隐藏(.cs文件)
if (particular.Checked)
{
company_name_blank.EnableClientScript = false;
cif_blank.EnableClientScript = false;
}
这是行不通的,因为Checked属性设置为false,实际上我将它设置为true,就像你在jQuery代码中看到的那样,那么错误在哪里?有关更多解释,我正在尝试禁用一些RequiredFieldValidators,具体取决于选中的复选框,但正如我所说,Checked属性始终设置为false,除非我默认在元素Checked = true或special.Checked中将其设置为true =在codebehind文件中为true,但这不是我想要的。当我点击复选框时,我想设置为真正的Checked属性,这就是我使用jQuery的原因。
更新
我的代码
protected void Page_Load(object sender, EventArgs e)
{
if (particular.Checked)
{
company_name_blank.EnableClientScript = false;
cif_blank.EnableClientScript = false;
contact_name_blank.EnableClientScript = false;
contact_cognames_blank.EnableClientScript = false;
}
}
答案 0 :(得分:1)
尝试使用:选中过滤器
particular.is(':checked')
答案 1 :(得分:0)
在您的网站中,您将看到如下按钮:
<asp:Button runat="server" ID="btnClick" OnClick="btnClick_Click" Text="Click here" />
在你的代码背后,你应该有这样的东西:
protected void btnClick_Click(object sender, EventArgs e)
{
if (particular.Checked)
{
company_name_blank.EnableClientScript = false;
cif_blank.EnableClientScript = false;
contact_name_blank.EnableClientScript = false;
contact_cognames_blank.EnableClientScript = false;
}
}
您可以删除Page_Load中的代码并将其移至按钮单击功能
更新 - 更正问题解决方案
正确的解决方案是使用ValidationEnable Javascript函数来禁用/启用RequiredFieldValidators。
此解决方案的代码:
var emailEmpty = $("#registerContent").find('[id$=email_blank]'); //This is a jQuery object
ValidationEnable(emailEmpty[0], false); //This will disable the validator.
我们使用“[0]”的原因是因为我们需要jQuery对象中的DOM元素(参见:http://api.jquery.com/get/?rdfrom=http%3A%2F%2Fdocs.jquery.com%2Fmw%2Findex.php%3Ftitle%3DCore%2Fget%26redirect%3Dno)