我在弹出窗口中有一张地图。我想将值(坐标)从那里传递回我的主窗口,并在坐标更改后触发一个方法。
在我的主窗口中,我有这个事件处理程序
$(".spatial").change
( function ()
{
alert('Handler for .change() called.');
}
);
由于某种原因,当此表单发生更改(value
属性发生更改)时,未调用alert()。
<form action="#" id="spatial_points" class="spatial">
<input type="hidden" id="start_point" class="spatial" value=""/>
<input type="hidden" id="end_point" class="spatial" value=""/>
</form>
我知道change()仅适用于表单字段。我想知道这是否延伸到hidden
表单字段?
这是以上代码在选择地图后的样子:
<form id="spatial_points" class="spatial" action="#">
<input id="start_point" class="spatial" type="hidden" value="(-7.9091601975133266, 127.0170435)">
<input id="end_point" class="spatial" type="hidden" value="(-44.73273833806611, 154.790481)">
</form>
答案 0 :(得分:12)
通过JavaScript更改值时,不会触发change
事件。由于这是更改隐藏字段的唯一方法,因此不会生成此类事件。
但是,您可以在更改值后手动触发事件处理程序:
$(".spatial").val(something).change();