为什么我的复选框事件监听器没有正确收听?

时间:2016-02-06 18:46:14

标签: javascript jquery

是的,我已经阅读了Stack Overflow上的相关帖子。仍然无法弄清楚为什么这不起作用。

HTML:

<input type="checkbox" id="#finished-checker" value="value"> 
<label for="finished-check">Check if assessment is complete.</label>

JavaScript的:

$('#finished-checker').change(function(){
    console.log("this.checked = " + this.checked);//TEST
    $.post({
        method: 'POST',
        url: '/Answers/UpdateFinishedValue',
        data: { finished: this.checked },
        success: function (retobj) {
            console.log(retobj);//TEST
        },
        error: function () {
            console.log("Error ...");
        }
    });
});

未调用change函数。我也试过了

$('#finished-checker').bind('change',function(){
    // ...
});

我已尝试将这些内容放入$(document).ready s和yada yada。

小提示:https://jsfiddle.net/c83cd6ah/

1 个答案:

答案 0 :(得分:1)

从复选框#的ID中移除finished-checkerUse,然后使用ajax代替post

$.ajax({
    method: 'POST',
    url: '/Answers/UpdateFinishedValue',
    data: { finished: this.checked },
    success: function (retobj) {
        console.log(retobj);//TEST
    },
    error: function () {
        console.log("Error ...");
    }
});