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

时间:2011-07-16 13:27:33

标签: jquery onchange hidden-field

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

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

$(".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>

1 个答案:

答案 0 :(得分:12)

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

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

$(".spatial").val(something).change();