检测html中的更改

时间:2016-03-17 17:01:55

标签: javascript jquery html codeigniter

我正在使用CodeIgniter开发应用程序,我想检测DOM中的某些元素何时发生了变化。假设我有以下内容:

<input type="text" name="idPerson0" id="idPerson" value="<?= $idPerson0; ?>"  style="width: 150px;"/>
<input type="text" name="idPerson1" id="idPerson1" value="<?= $idPerson2; ?>"  style="width: 150px;"/>
<input type="text" name="idPerson2" id="idPerson2" value="<?= $idPerson2; ?>"  style="width: 150px;"/>

$idPerson0, $idPerson1, $idPerson2已设置。然后我想在任何人改变时显示工具提示,显示原始值,但如果我决定再次输入原始值,属于适当输入的工具提示应该消失。

目前,我正在使用JQuery但使用按钮&#34;验证&#34;。

$('#btn-verify').click(function () {
    var old_id0 = "<?= $idPersona0 ?>";
    var old_id1 = "<?= $idPersona1 ?>";
    var old_id2 = "<?= $idPersona2 ?>";


    var new_id0 = $("#idPersona0").val();
    var new_id1 = $("#idPersona1").val();
    var new_id2 = $("#idPersona2").val();

    if (old_id0 != new_id0){
        // show tooltip
    } else {
       // hide tooltip
    }

    // the other ifs
}

我想有一个&#34;实时方式&#34;显示工具提示并检查差异。

1 个答案:

答案 0 :(得分:2)

您可以在jquery:

中的change事件上触发该函数
$("#idPerson0,#idPerson1,#idPerson2").change(function(){
    var old_id0 = "<?= $idPersona0 ?>";
    var old_id1 = "<?= $idPersona1 ?>";
    var old_id2 = "<?= $idPersona2 ?>";


    var new_id0 = $("#idPersona0").val();
    var new_id1 = $("#idPersona1").val();
    var new_id2 = $("#idPersona2").val();

    if (old_id0 != new_id0){
        // show tooltip
    } else {
       // hide tooltip
    }

    // the other ifs
}