使用jquery检查复选框

时间:2013-07-26 09:34:29

标签: jquery

我正在尝试使用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;
    }
} 

2 个答案:

答案 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