我在下面的代码有问题
$('.paron').change(function() {
if($(this).is(":checked")) {
var moduleid = <?php echo $moduleid; ?>;
var studentid = $(this).attr('id');
var weeknum = <?php echo $weeknum; ?>;
undisableTxt(studentid);
}
});
因此,我采用具有
id
的某个tr
的input
并将其发送给函数。到目前为止一切都很好。但是,当用户
check
input [checkbox]
当他取消检查时,我怎样才能将
id
发送给另一个功能???我尝试了以下但没有运气
$('.paron').change(function() {
if($(this).is(":checked")) {
var moduleid = <?php echo $moduleid; ?>;
var studentid = $(this).attr('id');
var weeknum = <?php echo $weeknum; ?>;
undisableTxt(studentid);
} else {
disableTxt(studentid); //error for undefined variable student id.
}
});
所以我得到未定义的
studentid
的错误。仅供参考,每行都有另一个ID。 最佳答案
变量“ studentId”在您的else块中不存在。同样,您不应该在块中使用var定义变量,因为var不在块级别作用域变量,因此请使用let或const。我还设置了$ this,以节省往返DOM的性能。
在jQuery中,您会这样做。
$('.paron').change(function() {
const $this = $(this);
const studentid = $this.attr('id');
if($this.is(":checked")) {
// removed for brevity, but using let or const
undisableTxt(studentid);
} else {
disableTxt(studentid);
}
});