无法让jquery在用户控件中工作

时间:2017-05-31 20:29:34

标签: javascript c# jquery webforms

我似乎无法让jquery在我的用户控件中工作。我添加了以下代码,可以在我的页面上正常工作,但不能在我的用户控件中使用。

<script type="text/javascript">

   function selectAll() {
      debugger;
      var checkBoxSelectorAll = '#<%=mGridView.ClientID%> input[id*="chkSelectAll"]:checkbox';
      var checkBoxSelectorRows = '#<%=mGridView.ClientID%> input[id*="chkSelected"]:checkbox';
      $(checkBoxSelectorRows).attr('checked', $(checkBoxSelectorAll).is(":checked"));
   }
</script>

但是当我从复选框中调用它时,它无法找到&#34; selectAll()&#34;。

所以我尝试在我的Page_Load中使用它来注册它:

     StringBuilder scriptText = new StringBuilder();
     scriptText.Append("<script>   function selectAll() {");
     scriptText.Append("var checkBoxSelectorAll = '#<%=mGridView.ClientID%> input[id*=\"chkSelectAll\"]:checkbox';");
     scriptText.Append("var checkBoxSelectorRows = '#<%=mGridView.ClientID%> input[id*=\"chkSelected\"]:checkbox';");
     scriptText.Append("$(checkBoxSelectorRows).attr('checked', $(checkBoxSelectorAll).is(\":checked\"));");
     scriptText.Append("alert('Literal Added to <Head>.');");
     scriptText.Append("}</script>");

     Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
                "CounterScript", scriptText.ToString(), false);

我添加了警报只是为了查看它是否正常工作,如果我注释掉&#34; $(checkBoxSelectorRows)&#34;,它会进入警报状态。如果我在后面添加这行:

Unhandled exception at line 4, column 14519 in http://localhost:58458/assets/js/jquery-2.0.3.min.js

0x800a139e - JavaScript runtime error: Syntax error, unrecognized expression: #<%=mGridView.ClientID%> input[id*="chkSelected"]:checkbox

我想也许是&#34; $&#34;导致问题所以我将其添加到顶部的标记页面:

<script src="../assets/js/jquery-ui-1.10.3.custom.min.js"></script>

但我得到同样的错误。

我错过了什么吗?

谢谢,

汤姆

0 个答案:

没有答案