从 JavaScript 中的表单视图访问复选框 asp.net

Accessing checkbox from asp.net formview in JavaScript

本文关键字:访问 复选框 asp net 视图 表单 JavaScript      更新时间:2023-09-26

我的表单视图中有一个复选框,我想在JS中访问该复选框以对文本框进行一些启用/禁用。

这是我所拥有的:

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

使用此代码,不会发生任何事情,也不会在Firebug控制台中显示任何错误。我做错了什么吗?

我有一些猜测。第一个可能是错误的,但我必须指出来。您发布的代码没有结束脚本 ( </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并对其进行了测试。

这是小提琴。链接