0

我想将一个选择元素更改为一个文本字段元素并向后:

$(document).on('change','.sel1', function() {
    if($('select option:selected').val() == 4) {
        var sCol = $(this).attr('name').substr(0,5);
        var nCol = $(this).attr('name').substr(5,2);
        $('#tabSel'+nCol).html('<input type=\"text\" name=\"'+sCol+nCol+'s\" maxlength=\"255\">&nbsp;&nbsp;<span class=\"del del2\" id=\"'+sCol+nCol+'s\"><b>X</b></span>');
        $('input[name='+sCol+nCol+'s]').focus();
    }
});

在另一个事件中,我生成了新的选择元素,并且所有元素都具有 class .sel。但它只适用于刚刚存在的元素,不适用于新生成的元素。

$('sel1').bind('change', function() {
if($('select option:selected').val() == 4) {
    var sCol = $(this).attr('name').substr(0,5);
    var nCol = $(this).attr('name').substr(5,2);
    $('#tabSel'+nCol).html('<input type=\"text\" name=\"'+sCol+nCol+'s\" maxlength=\"255\">&nbsp;&nbsp;<span class=\"del del2\" id=\"'+sCol+nCol+'s\"><b>X</b></span>');
    $('input[name='+sCol+nCol+'s]').focus();
}
});

也行不通。

4

1 回答 1

0

生成新的选择列表后,您需要绑定该更改事件。即使类或 id 与原始绑定匹配,在事件绑定之后创建的新元素也不会自动注册。

于 2013-06-13T22:06:55.380 回答