我在转发器控件中有一个复选框。转发器可以具有可变数量的项目。 每当选中/取消选中任何列表项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>
答案 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))
;