如何判断隐藏字段的更改时间

时间:2010-02-04 03:52:14

标签: javascript jquery html asp.net-mvc

我有一些javascript我想在隐藏字段更改时运行(通过javascript)有没有办法做到这一点? (或者总之,在asp mvc中有一个不可见的字段,我可以获得更改事件)

注意:我已经确认隐藏的字段不是问题,但事实是字段是用javascript更新的!使用javascript更新字段时,不会触发更改事件。

被修改

澄清这项工作:

//set up change event
$('#154').change(function() {
ScoringDerivation(154, 6,162,165);;                                                             
                        });

<select id="154" name="154"><option value="">&lt;Select&gt;</option>
<option value="6001">Good</option>
<option value="6002">Average</option>
<option value="6003">Poor</option>
<option selected="selected" value="6004">No Match</option>
</select>

但这不是:

//set up change event
$('#165').change(function() {
    DerivationAdd3(165,166,167,226);; 
});


<input id="165" name="165" type="hidden" value="0" /><label id="165Label" name="165Label">0</label>

3 个答案:

答案 0 :(得分:2)

使用jQuery进行检查。

$('#FieldId').change( function() { alert(9); })

它可以改变或改变。未经测试但我使用类似的。

google jQuery;

实际上,这是我认为你需要的来源。 change()-jQuery

答案 1 :(得分:1)

如果您正在运行Javascript来更改隐藏字段,为什么不让Javascript调用所需的onchange函数?

答案 2 :(得分:0)

我遇到了这个问题并且无法触发更改事件,因为我无法修改实际设置字段的代码。所以这就是我所做的:

var file = $("#hidden_field_id");
var previous_value = file.attr("defaultValue");
var interval = setInterval(function(){
    if(previous_value != file.val()){
    fire_change_event(previous_value, file.val());
    previous_value = file.val();
    }
}, 50);
$(window).unload(function(){clearInterval(interval);});

这似乎在我做的3分钟测试中起作用;)