我似乎无法让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>
但我得到同样的错误。
我错过了什么吗?
谢谢,
汤姆