jquery如何检测隐藏字段的变化

时间:2011-03-27 04:02:29

标签: jquery

我需要检测何时更改隐藏字段。 我希望每次隐藏更改的值时都会执行一些操作

我已经阅读了jquery文档并找到了更改(fn),但它说它只会在焦点发布时触发。

这对隐藏的领域有用吗? 我认为隐藏的字段没有焦点事件

任何帮助将不胜感激 谢谢

3 个答案:

答案 0 :(得分:1)

你可以设置一个短暂的间隔并检查这样的值:

var defaultValue = '';

setInterval(function() {
    if ($('.input').val() != defaultValue) {
        defaultValue = $('.input').val();
        //do something now that the value has changed
    }
}, 100);

答案 1 :(得分:1)

当您实际更改您关注的内容时,将调用.change()函数。你不可能专注于一个隐藏的领域。你应该在这里添加脚本给我们看看你真正想做什么以及它有什么问题。

答案 2 :(得分:0)

您需要访问隐藏字段才能更改其值。正如@Michael Copeland所说,如果你用jquery执行这个更改,你可以在同一个地方处理这个变化。

假设您通过按下按钮更改隐藏字段的值,当发生这种情况时,您必须在div中写入字段的值。 以下是此示例的解决方案:

<强> HTML:

<input id="inp" type="hidden" value="0" />
<div id="div"></div>
<button id="butt">Change the value of the hidden input</button>

<强> JS:

$(document).ready(function(){   
    //this button toggles the value between 1 and 0
    $("#butt").click(function(){
        var val = ($("#inp").val()=="1")? "0" : "1" ;//choose 1 or 0
        $("#inp").val(val);//set the value to the hidden input        
        setDiv();//calls the handler of the change
    });

    function setDiv(){
        $("#div").html($("#inp").val());
    }
});

您可以在此处进行测试:http://jsfiddle.net/aETUJ/

希望这会有所帮助。 :)