运行javascript函数检查更改具有特定类的div内的复选框

时间:2013-05-21 19:22:23

标签: javascript jquery javascript-events

我在转发器控件中有一个复选框。转发器可以具有可变数量的项目。 每当选中/取消选中任何列表项ID为“ DFO_MFO ”的复选框时,我都需要调用js函数。我怎样才能做到这一点? 我尝试过以下代码但没有工作。

$(".DFO_MFO").change(function () {
    DfoMfoChecked($(this));
})

ASP.Net标记

<asp:CheckBox runat="server" id="DFO_MFO" class="DFO_MFO"></asp:CheckBox>

HTML渲染

<span class="DFO_MFO">
    <input id="ctl00_PageContent_BULK_WOTableControlRepeater_ctl00_DFO_MFO" type="checkbox" name="ctl00$PageContent$BULK_WOTableControlRepeater$ctl00$DFO_MFO">
</span>

3 个答案:

答案 0 :(得分:3)

试试这个:

$(".DFO_MFO").children('input').change(function () {
    DfoMfoChecked($(this));
})

答案 1 :(得分:2)

您正尝试将更改事件分配给span元素。但是span元素 没有与之关联的change元素。

在这种情况下,change事件将因事件冒泡而起作用。

使用context选择器或.find定位输入,然后将更改事件分配给复选框。

$("input", ".DFO_MFO").change(function () {
      DfoMfoChecked($(this));
})

如果您是.on()

,最好使用using jQuery 1.7 and above附加活动
 $("input", ".DFO_MFO").on('change', function () {
          DfoMfoChecked($(this));
    })

答案 2 :(得分:0)

使用.click()并在事件处理函数内部检查元素.is(':checked')是否已打开。或者在您的情况下,只需致电DfoMfoChecked($(this));