在javascript中访问来自asp.net formview的复选框

时间:2013-11-05 19:20:17

标签: c# javascript asp.net checkbox formview

我在formview中有一个复选框,我想在JS中访问该复选框以对文本框进行一些启用/禁用。 这就是我所拥有的:

 <script type="text/javascript">
     $(document).ready(function () {              
         $('#<%=FormView1.FindControl("chkMap").ClientID%>').change(function () {
             if ($(this).is(":checked")) {                                               
             }
             $('#textbox1').val($(this).is(':checked'));
         });             
 });

使用此代码,没有任何反应,并且firebug控制台中没有显示错误。难道我做错了什么?谢谢,Laziale

1 个答案:

答案 0 :(得分:0)

我有一些猜测。第一个可能是错的,但我必须指出它。您发布的代码没有结束脚本(</script>)标记。你应该先检查一下。

第二个猜测是,由于某种原因<%=FormView1.FindControl("chkMap").ClientID%>,这可能不会输出该控件的ID。您是否尝试“查看该页面的来源”并确保该ID是否应该如此?也许你已经改变了那个复选框的ID。

第三个猜测是您引用文本框的方式(#textbox)。这是一个ASP.NET WebForms页面。您的复选框是服务器控件(<asp:CheckBox ... />)。您确定没有创建<asp:TextBox runat="server" ID="textbox1" />之类的文本框吗?如果有,你需要编写如下代码:

$('#<%=FormView1.FindControl("textbox1").ClientID%>').val($(this).is(':checked'));

通过JavaScript引用该文本框控件。

我建议所有这些因为JS代码工作正常。我已经创建了一个JSFiddle并对其进行了测试。

这是小提琴。 link