jQuery自动完成功能不适用于动态表单字段

时间:2010-10-29 15:46:58

标签: php jquery html forms autocomplete

嘿伙计们......我又回来了另一个问题......

我在表单字段上使用jquery自动完成功能。它有效!

问题是,然后动态我向表单添加另一行,但它没有。是的,我会继续将新字段的ID切换为新字段。

原创= exampassed1 动态添加= exampassed2,exampassed3等等......

我已经添加了他们的jQuery等价物

$("#exampassed1").autocomplete({
    source: "exams.php",
    minLength: 2
});

$("#exampassed2").autocomplete({
    source: "exams.php",
    minLength: 2
});

依旧......

我认为问题是jQuery没有识别动态添加的元素,它只读取加载中存在的元素...

有没有什么办法可以让jquery处理程序读取这些新添加的元素?

我听说过绑定和实时功能,虽然我找不到实现这些功能的方法......

非常感谢任何小/全的帮助......干杯!

我使用的jQuery

$().ready(function() {
    $("#autonco").autocomplete({
        source: "nco.php",
        minLength: 2
    });

    $("#autonco1").autocomplete({
        source: "nco.php",
        minLength: 2
    });

    $("#autonco2").autocomplete({
        source: "nco.php",
        minLength: 2
    });

    $("#exampassed1").autocomplete({
        source: "exams.php",
        minLength: 2
    });

    $("#exampassed2").autocomplete({
        source: "exams.php",
        minLength: 2
    });

});

已存在的代码......

    <td align="center" valign="top">            
    <input type="text" id="exampassed1" name="exam[]" />
    </td>

动态添加的代码......

    <td valign="top" align="center">            
    <input id="exampassed2" name="exam[]" type="text">
    </td>

任何指针也表示赞赏!

再次感谢!

2 个答案:

答案 0 :(得分:3)

以下是我使用的代码。解决了!

$().ready(function() {

    $("#exampassed1").autocomplete({
        source: "exams.php",
        minLength: 2
    });

    $("#exampassed2").live('focus', function() {

        $("#exampassed2").autocomplete({
        source: "exams.php",
        minLength: 2
        });

    });

});

干杯!

答案 1 :(得分:1)

在收到上一封电话的回复之前,请勿拨打另一个$().autocomplete。如果你有这样的级联,javascript引擎将在你从第一个回调之前运行它们。因此,它找不到它想要的东西。