我在这里遇到了以下代码
的问题$('.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
并{i}}将其发送给函数。一切都好到现在为止。
但是当用户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
的错误。仅供参考,每一行都有另一个身份证。
答案 0 :(得分:1)
变量'studentId'在您的else块中不存在。此外,您不应该使用var in blocks定义变量,因为var不会在块级别定义变量,使用let或const。我还设置了$ this,以便为了性能而来回保存。
在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);
}
});