如何使函数识别jquery中动态创建元素的id

时间:2011-12-01 15:31:12

标签: jquery

    $(document).ready(function() {                           
        $('#somebutton').click(function() {                  
            $.get('List', function(responseJson) {   
                $.each(responseJson, function(index, item) {
                    var elem=$('<input type="checkbox" id="item" value='+item+'/> ' + item + '<br />');
                    $('#somediv').append('<input type="checkbox" id="item" value='+item+'/> ' + item + '<br />');
                });
                $('#somediv').append('<button id="newButton">'+"retrieve"+'</button> <br />');
            });
        });
        $("#newButton").click(function(){     
            var data = { 'checkBoxList[]' : []};     
            var list=$(":input:item:checked");    
            $(list.each(function() {        
                data['checkBoxList[]'].push($(this).val());     
                }));     
            $.get("Data",data,function(responseText){
                $('#somediv').text(responseText);
                }); 
            }); 
    });

(我是jQuery的新手) 我想做的是 调用一个servlet,然后给我一些复选框列表

选择所需的,然后再次提交给另一个servlet 它从复选框中获取输入 根据选择显示信息。

从servlet获取复选框列表工作正常,它也动态创建一个按钮 当我点击按钮时,它什么也没做,我不知道为什么

1 个答案:

答案 0 :(得分:0)

首先,我可以使用class,因为在您当前的实现中,您最终可能会使用具有相同ID的多个按钮。

所以你可以做的是:

    $(".newButton").live('click', function(){     
        var data = { 'checkBoxList[]' : []};     
        var list=$(":input:item:checked");    
        $(list.each(function() {        
            data['checkBoxList[]'].push($(this).val());     
            }));     //why is this like this *
        $.get("Data",data,function(responseText){
            $('#somediv').text(responseText);
        }); 
    }); 

我也不确定你在这做什么:

            $(list.each(function() {        
                data['checkBoxList[]'].push($(this).val());     
            }));     //why is this like this *

只是做:

            list.each(function() {        
                data['checkBoxList[]'].push($(this).val());     
            });