单选按钮的Onclick事件(动态创建)没有响应

时间:2011-08-09 11:24:02

标签: jquery asp.net-mvc jquery-ui

我有一个下拉列表&两个文本框。一旦我填充它们(单击一个按钮),我想将它们动态地附加到表格行中,并将单选按钮作为第三列。

以下代码正在运行,但不确定为什么单选按钮的onclick事件没有响应。我正在使用MVC 3.0。

我注意到onclick事件仍在工作,但点击的单选按钮未被检查,保持其他单选按钮未选中。

 function Contact_OnAddTelephone() {

    var type = $("#rdoTelephoneType").val();
    var areaCode = $("#txtAreaCode").val();

    var radio = $('<input>').attr({
        type: 'radio', id: 'rdoTelePrimary', name: 'rdoTelePrimary', onclick: 'alert("a");this.checked' 
    });
    $('#tableTelephone tr:last').after("<tr><td>" + type + "</td><td>" + areaCode + "-" + number + "</td><td>" + radio[0].outerHTML + "</td></tr>");
}

此处点击静止我可以看到警报被触发,但是此。检查无法正常工作

2 个答案:

答案 0 :(得分:1)

如果动态插入控件,则可以使用jQuery live

这是一个简单的例子:

$('#rdoTelePrimary').live('click', function () {
    // do your stuff here...
});

答案 1 :(得分:0)

试试这个:

function Contact_OnAddTelephone() {
    var type = $("#rdoTelephoneType").val(),
        areaCode = $("#txtAreaCode").val(),
        radio = $('<input>').attr({
           type: 'radio', 
           id: 'rdoTelePrimary', 
           name: 'rdoTelePrimary', 
           onclick: 'myRadioButtonClickFunction' 
         });

    $('#tableTelephone tr:last').after("<tr><td>" + type + "</td><td>" + areaCode + "-" + number + "</td><td>" + radio[0].outerHTML + "</td></tr>");
}

function myRadioButtonClickFunction(){
   // do stuff
}

注意:未经测试。

顺便说一句,您可能希望在函数名称上使用camelCase。