想要使用附加的按钮的id

时间:2013-08-27 13:59:24

标签: jquery

'添加电话号码'

这是用这段代码写的

$("#fieldsetnew-add").click(function () {
        var addnewfieldset = $(document.createElement('div'))
            .addClass('fieldset1-inner-phoneno');
        addnewfieldset.after()
                .html(
'<fieldset style="background-color:#B0C4DE;moz-border-radius:15px;-webkit-border-radius:15px;" class="defaultfeild" >' +
        '<br>' +
        '<br>' +
        '<label> label :</label>'+
        '<input  type="label" value="labelname"  placeholder="">'+
        '<button class="btn btn-danger" id="remove" >remove this profile</button>'+
        '<br>' +
        '<br>' +
        '<label>Email :</label>' +
        '<input  type="email" value="labelname"  placeholder="me@example.com">'+
        '<br>'  + 
        '<br>' +
        '<div>'+
        '<br>'+
        '<div id="TextBoxesGroup1">'+
        '<div id="TextBoxDiv1">'+
        '</div>'+
        '</div>'+
        '<button class="btn btn-success" id="fieldsetnew-addphone" > Add phone no </button>'+
        '</div>'+
        '<br>'+
        '<br>'+
        '</fieldset>'+
        '<br>'+
        '<br>');
        addnewfieldset.appendTo("#fieldset-new-add");

    });

我如何使用按钮的id ........... 我想在点击“添加电话号码”按钮时添加输入框,按钮...............

3 个答案:

答案 0 :(得分:1)

您可以使用on绑定动态添加元素的事件,这些元素的作用是:

  

将一个或多个事件的事件处理函数附加到所选元素。

所以,例如:

$("#fieldsetnew-addphone").on("click", function(e) { 
  // event handler code
});

答案 1 :(得分:0)

您必须将click事件绑定到页面加载时出现的元素,如下所示:

$('body').on('click', '#fieldsetnew-addphone', function(){
    // do something
});

答案 2 :(得分:-1)

是的,正如格兰特所说:使用on()方法。由于jQuery之后创建的ID已初始化,因此无法使用bind()等其他方法访问它。老实说我之前从未使用过bind()而且我总是使用on()。这是最新的方法。很高兴知道在幕后,帮助方法如bind()live()都指向on()方法。

与您的问题无关的其他内容,但值得一提的是尽量不要将JavaScript与HTML混合使用。您可以使用Handlebars.js

之类的模板