2011-10-01 81 views
0

我有2个复选框的UpdatePanel内:复选框更新面板内没有得到其状态

<asp:UpdatePanel> 
    <asp:CheckBox CssClass="checkboxDivE"/> 
    <asp:CheckBox CssClass="checkboxDivE"/> 
<asp:UpdatePanel> 
在JS

,jQuery的:

$('.checkboxDivE').live('click', function (e) { 

    alert($(this).is(':checked')); // always giving false result 

}); 

标记:

<span class="checkboxDivE" title="Export a trip"><input id="ctl00_ContentPlaceHolder1_GridView_Trips_ctl02_checkboxDivE" type="checkbox" name="ctl00$ContentPlaceHolder1$GridView_Trips$ctl02$checkboxDivE"></span> 

<span class="checkboxDivE" title="Export a trip"><input id="ctl00_ContentPlaceHolder1_GridView_Trips_ctl03_checkboxDivE" type="checkbox" name="ctl00$ContentPlaceHolder1$GridView_Trips$ctl03$checkboxDivE"></span> 

每当我检查或取消选中复选框,结果总是错误的?

我花了几个小时寻找解决方案,但我不能!这是在updatePanel内的jQuery的问题?

+1

发布您的复选框标记。 –

+0

您应该发布浏览器上的标记,而不是服务器端的标记。 ASP.NET复选框不会在HTML复选框输入中呈现CssClass,而是呈现包含它的跨度(如果我没记错的话),并且您的选择器无法访问复选框 –

+0

是的,我添加了标记 – olidev

回答

0

如果你看看你的标记,你会注意到你的复选框的ID实际上是ctl00_ContentPlaceHolder1_GridView_Trips_ctl03_CheckBoxExportTour,你试图抓取的类 - checkboxDivE - 属于范围。

你只需要改变你的选择器。

+0

不,我在这篇文章发布时重新命名了div。选择器很好。它显示每次我点击时弹出警告 – olidev

+0

@devn - 我不认为你明白我在说什么。你正在选择你的选择 - 而不是复选框。所以,当你点击复选框时,你也在点击span。这就是为什么你仍然会弹出,但它永远不会说真话。在这里看到一个例子 - http://jsfiddle.net/fvVAy/2/ – JasCav

0

应该像这样使用:http://jsfiddle.net/fvVAy/

也许你正在使用类选择,你应该使用一个名称选择。如果jsfiddle没有帮助,请尝试上传复选框标记。

+0

检查检查我更新的问题! – olidev

+0

原来你选择的是,不是它的小孩尝试将选择器更改为'.checkboxDivE input',如下图所示:http://jsfiddle.net/fvVAy/3/ –

+0

另外,如果你想要“整个跨度” (a)单击跨度,(b)将输出孩子输入的值。看看这里:http://jsfiddle.net/fvVAy/4/ –