jQuery live()和更改

时间:2011-04-10 06:07:09

标签: jquery select live onchange

我有一个困境 - 创建了一个行表,其中包含文本字段,下拉菜单和相关的第3个字段/选择。

还有“添加新”按钮,该按钮会添加带有这3个表单元素的默认值的新行。

这是根据从前面的选择菜单中选择的值更改第三列元素的脚本:

if ($('.navigation_type').length > 0) {
    $('.navigation_type').live('change', function() {
        var next_cell = $(this).parent('td').next();
        var identity = $(this).attr('id').split('_');
        var type = $(this).val();
        var url = '/pages/c/navigation/a/fetch/id/' + identity[1] + '/type/' + type;
        $.getJSON(url, function(data) {
            if (!data.error) {
                next_cell.html(data.content);
            }
        });         
    });
}

“添加新按钮”脚本如下所示:

if ($('.add_navigation').length > 0) {
    $('.add_navigation').click(function() {
        var master = $(this).attr('id').split('_');
        master = master[1];         
        $.getJSON('/pages/c/navigation/a/newrow/master/' + master, function(data) {
            $('#section_' + master).after(data.row);
        });
        return false;
    });
}

'.add_navigation'按钮正常工作,直到我更改下拉列表中的值 - 它没有做任何事情 - 意味着第三列不会改变,具体取决于所选的值。

我使用了live('change')menthod,因为我认为它应该可以解决问题,但显然我做错了什么 - 不知道它是什么?

1 个答案:

答案 0 :(得分:1)

好的 - 问题解决了 - 导致问题的是其他代码!上面的脚本运行正常。