Javascript jquery更改以前的内容

Javascript jquery更改以前的内容,javascript,jquery,html,select,event-handling,Javascript,Jquery,Html,Select,Event Handling,当我在选择列表中更改一个省时,一个新列表将使用新复选框进行更新。 现在,当发生更改时,我希望将.change()添加到这些新复选框中(当选择其父项时,应选择childs)。但是当我记录对象时,我看到我从上一个列表中获取了项目,而不是从当前列表中获取的项目 看起来change函数仍然适用于列表中以前的值,但不适用于新更新的值。我不知道如何从列表中获取当前项目。有人有主意吗 $('.select-province').change(function() { //I log the

当我在选择列表中更改一个省时,一个新列表将使用新复选框进行更新。 现在,当发生更改时,我希望将.change()添加到这些新复选框中(当选择其父项时,应选择childs)。但是当我记录对象时,我看到我从上一个列表中获取了项目,而不是从当前列表中获取的项目

看起来change函数仍然适用于列表中以前的值,但不适用于新更新的值。我不知道如何从列表中获取当前项目。有人有主意吗

$('.select-province').change(function() {

        //I log the previous list, but need the current updated one
        var test = $(this).parent().contents();
        console.log(test);

            //Not really important for understanding the problem
        $("input[type='checkbox']").change(function () {
            //alert('test');
            console.log($(this));
            $(this).parent().siblings('ul')
                .find("input[type='checkbox']")
                .prop('checked', this.checked);
        });

});
试试看:

.live('change',function() {
如果您使用的是1.7版以上的jQuery,请执行以下操作:

$(document).on('change','.select-province', function() {

为什么要将onchange事件嵌套在另一个onchange事件中?当一个列表发生变化时,另一个列表发生变化时,您可能应该提供一个JSFIDDLE。更改的列表是一系列复选框。所以当父母被检查时,孩子们应该被检查得很好。因此,当父复选框上的事件发生时,需要选中子复选框。好吧,JSFIDLE将使您的问题更容易理解,我今晚将澄清一个问题。更改选择列表会触发ajax调用。更改内容的alex回调的延迟可能比jquery函数慢