jQuery change()是否与隐藏的表单元素一起使用

Ank*_*kur 4 jquery onchange hidden-field

我在弹出窗口中有一张地图.我想将值(坐标)从那里传递回我的主窗口,并在更改坐标后触发一个方法.

在我的主窗口中,我有这个事件处理程序

$(".spatial").change
    (    function ()
        {
            alert('Handler for .change() called.');
        }
    );
Run Code Online (Sandbox Code Playgroud)

由于某种原因,当此表单发生更改(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>
Run Code Online (Sandbox Code Playgroud)

我知道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>
Run Code Online (Sandbox Code Playgroud)

Fel*_*ing 12

change改变通过JavaScript的值时,不会触发事件.由于这是更改隐藏字段的唯一方法,因此不会生成此类事件.

但是,您可以在更改值后手动触发事件处理程序:

$(".spatial").val(something).change();
Run Code Online (Sandbox Code Playgroud)