日期:2014-05-18  浏览次数:20441 次

用jquery如何获取服务器控件的ID
我在程序中这样写老说获取不到对象,难道这样写有问题?
if($("#<%=ddl_Province.ClientID %>").val()!="0"){
  $("#<%=cb_Province.ClientID %>").attr('checked,true');
}

我的前台页面:
<asp:CheckBox ID="cb_Province" runat="server" />



<asp:DropDownList ID="ddl_Province" onchange="chang();" runat="server" AutoPostBack="True" onselectedindexchanged="ddl_Province_SelectedIndexChanged">
</asp:DropDownList>

------解决方案--------------------
群主大人来帮你顶了!
------解决方案--------------------
JScript code

var $ddl_Province = $("select[name$=ddl_Province]");

------解决方案--------------------
友情支持,如果是我的话,我是不会用js来控制的
何必这么麻烦呢》。。
------解决方案--------------------
还有哦,<%=ddl_Province.ClientID %>"). 我只知道这个是在 js 里用的,不知道 jquery里面用,会产生什么后果.
------解决方案--------------------
if($("#<%=ddl_Province.ClientID %>").val()!="0"){
$("#<%=cb_Province.ClientID %>").attr('checked,true');
}

这段你写在哪了,看看是不是写在 对应的 html tag 前了
------解决方案--------------------
ddl_Province 没有value 属性。
------解决方案--------------------
你取值的时候就出现问题了,你不信alert($("#<%=ddl_Province.ClientID %>").val());

看看是什么结果

$("#<%=cb_Province.ClientID %>").attr('checked,true');
这句话的常规写法是
$("#<%=cb_Province.ClientID %>").attr('checked','checked');

------解决方案--------------------
探讨
你取值的时候就出现问题了,你不信alert($("#<%=ddl_Province.ClientID %>").val());

看看是什么结果

$("#<%=cb_Province.ClientID %>").attr('checked,true');
这句话的常规写法是
$("#<%=cb_Province.ClientID %>").attr('checked','checke……

------解决方案--------------------
贴源文件
------解决方案--------------------
$("#cb_Province")
------解决方案--------------------
你是想前台访问后台控件!?

其实也可以理解成:前后台可以访问同一个控件(不管它是前台还是后台的元素)

可以将后台控件改成前台控件:
<input type="checkbox" id="cb_Province" name="cb_Province" />

前台jQuery访问:$("#cb_Province")
后台访问:Request.Form["cb_Province"]
------解决方案--------------------
你的页面是不是有模板页,放在<asp:Content>里面的。是的话。好像要ID要加个前缀的。
------解决方案--------------------
设置服务器空间的clientID试试,服务器控件的ID不是html里的ID了,要长很多