我有一些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=""><Select></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>
答案 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分钟测试中起作用;)