1

我在转发器控件中有一个复选框。中继器可能有可变数量的项目。每当检查/未选中的任何列表项目的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>
4

3 回答 3

3

尝试这个 :

$(".DFO_MFO").children('input').change(function () {
    DfoMfoChecked($(this));
})
于 2013-05-21T19:25:15.150 回答
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));
    })
于 2013-05-21T19:24:11.613 回答
0

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

于 2013-05-21T19:24:03.500 回答