【问题标题】:Detecting when a hidden form field was changed dynamically检测隐藏的表单字段何时动态更改
【发布时间】:2013-09-22 13:32:53
【问题描述】:

我们如何检测隐藏的表单字段何时被动态更改?如果它被改变了,那么显示一个警报?

一个 JQuery UI (DatePicker) 用于更改隐藏的表单字段。

$("#datepicker").datepicker({altField: "#alternate", altFormat: "yymmdd"}).$('#alternate').trigger('change');


<input name="textbox" id="alternate" type="hidden" size="30" 
onchange="alert('changed')" />

【问题讨论】:

    标签: javascript forms dynamic field dynamically-generated


    【解决方案1】:
    $('#alternate').change(function(){
        window.alert('Change has happened.  Ya dig?');
    });
    

    【讨论】:

    • 我需要隐藏字段的处理程序吗?浏览器如何知道 HIDDEN 字段何时更改?基本上,我怎样才能使用您的代码来实现这一点?
    • 我在 Stack Overflow 上了解到,隐藏元素的值更改不会自动触发 .change() 事件。所以,无论我在哪里设置该值,我还必须告诉 jQuery 来触发它。但是 datepicker 设置值。知道如何告诉 datepicker 触发 .change() 事件吗?
    【解决方案2】:

    在 StackOverflow.com 上的两个类似问题的帮助下解决了这个问题

    1. jQuery UI datepicker - Trying to capture click event from date clicked
    2. jQuery - Detect value change on hidden input field

    <input name="textbox" id="alternate" type="hidden" size="30" 
    onchange="alert('changed')" />
    
    
    <script>
    $(function() {
        $("#myDatePicker").datepicker({
            // The hidden field to receive the date
            altField: "#alternate",
            // The format for the date
            altFormat: "yymmdd",
            onSelect: function (date) {
                // trigger the .change() event
                $('#alternate').trigger('change');
            }
        })
    });
    </script>
    

    【讨论】:

      猜你喜欢
      • 2011-11-25
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-18
      相关资源
      最近更新 更多