【发布时间】:2015-02-22 13:26:38
【问题描述】:
我无法从下面的脚本中检测到何时以及哪个复选框被点击:
HTML 片段:
<label for="checkbox[1]"><input type="checkbox" name="checkbox[1]" id="checkbox[1]" class="detectThisChange" value="10.00" checked=""> Amount $10.00</label>
<label for="checkbox[2]"><input type="checkbox" name="checkbox[2]" id="checkbox[2]" class="detectThisChange" value="20.00" checked=""> Amount $20.00</label>
<label for="checkbox[3]"><input type="checkbox" name="checkbox[3]" id="checkbox[3]" class="detectThisChange" value="30.00" checked=""> Amount $30.00</label>
jQuery 片段:
$(document).ready(function() {
$(window).load(function() {
// ... //
$('.detectThisChange').change(function(event){
var targetID = triggerEvent.target.id; // get the id that triggered the event
var posStart = targetID.indexOf('[') + 1;
var posEnd = targetID.indexOf(']');
var i = targetID.substring(posStart, posEnd); // get the index of the id that triggered the event
if ( $('#checkbox\\['+ i +'\\]').prop('checked') != true ) {
alert('checkbox ' + i + ' was checked');
}
else {
alert('checkbox ' + i + ' was unchecked');
}
});
// ... //
}); // end .load()
}); // end .ready()
附加:
我遇到的问题是我的警报都不起作用。所以这告诉我 change() 函数没有触发。
【问题讨论】:
-
用
==替换!= -
好的,谢谢@97ldave。在选定的答案中,
jQuery("#frameName").contents()的 idframeName部分代表什么? -
谢谢@BhojendraSah。请参阅我的 OQ 中的附加评论。 change() 函数甚至没有触发。
-
感谢@Invent-Animate。我的问题是我无法使用我的 change() 函数。
标签: javascript jquery checkbox onclick onclicklistener