ksc*_*eck 1 asp.net jquery onchange
我知道这个问题已经被问了很多,但似乎没有什么对我有用.我读了很多问题和答案.
我正在使用JQuery事件来处理ASP.NET控件的事件,但事件不会触发.
这就是我尝试过的:
我的DropDownList:
<asp:DropDownList ID="List_ValueStream" runat="server" Width="195px" />
我尝试将事件添加到DropDownList,所有测试都单独测试:
在:
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript">
...
</script>
Run Code Online (Sandbox Code Playgroud)
/
$(document).ready(function () {
$("#<%=List_ValueStream.ClientID%>").change(function () {
alert('1 Handler for .change() called.');
});
});
Run Code Online (Sandbox Code Playgroud)
/
$(document).ready(function () {
$("#List_ValueStream").change(function () {
alert('2 Handler for .change() called.');
});
});
Run Code Online (Sandbox Code Playgroud)
/
$(document).ready(function () {
$("#List_ValueStream").on('change', function () {
alert('3 Handler for .change() called.');
});
});
Run Code Online (Sandbox Code Playgroud)
/
$("#<%=List_ValueStream.ClientID%>").change(function () {
alert('4 Handler for .change() called.');
});
Run Code Online (Sandbox Code Playgroud)
/
$("#List_ValueStream").change(function () {
alert('5 Handler for .change() called.');
});
Run Code Online (Sandbox Code Playgroud)
你有这两行之间的脚本吗?然后在sperate脚本标记中编写脚本,如下所示
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript">
</script>
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript">
</script>
<script type="text/javascript">
$(document).ready(function () {
$("#<%=List_ValueStream.ClientID%>").change(function () {
alert('1 Handler for .change() called.');
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我想只有这可能是原因.另外一点也没关系.如果您使用的是asp.net 4.0或更高版本,则
可以利用ClientIDMode = static.它不会改变你控制的id如下
<asp:TextBox ID="txtEcho2" runat="server" ClientIDMode="Static" />
Run Code Online (Sandbox Code Playgroud)
所以你可以摆脱ClientId