jQuery:如果 DatePicker UI 更改,则更新某个文本框

Posted

技术标签:

【中文标题】jQuery:如果 DatePicker UI 更改,则更新某个文本框【英文标题】:jQuery: Update a certain textbox on if DatePicker UI is changed 【发布时间】:2017-04-01 19:23:30 【问题描述】:

我有这个问题,分配了一个文本框来获取日期选择器的值。我最初没有问题(意味着起初没有更改日期选择器),因为有一个按钮可以点击来生成隐藏的文本框。但是当更改日期选择器的值时(在生成文本框之后),就会出现问题。这是示例:

日期选择器:

<input type='text' name='devd' id="devd_1" class='pickdate' size='10' />

隐藏文本框:

 <input type='hidden' name='devd_box' id='devd_box_1'/>

我提到的按钮只能使用一次。所以我现在的问题是如果日期选择器的值发生了变化,如何填充隐藏的文本框。

您可能会注意到 ID 的最后一个数字,这是它们的共同参考,因此它可以更新正确的框,因为它有多个日期选择器/框。

感谢大家的帮助!

P.S:ID 后面的最后一个数字是动态填充的,因此我不能只硬编码日期选择器的 ID。

为有需要的人提供实际解决方案:

$('.pickdate').on('change', function (ev) 
        var string_id = this.id;
        var lastnum = string_id[string_id.length -1];
        $('#devd_box_' + lastnum).val(this.value);
    );

【问题讨论】:

您能否展示您的.datepicker() 代码,以及您如何尝试使用onSelect: function()? (基于your comment) @Sean,感谢您花时间回答这个问题,但我现在解决了我的问题。 :) 【参考方案1】:

只需查找onChange 事件。

$('#devd_1').on('change', function (ev) 
    $('#devd_box_1').val('Your text here');
);

每当日期选择器字段发生更改时,这将更改隐藏字段上的文本。

关于 动态 id 部分 - 为它创建一个javascript函数并调用它以获取实际的id

注意: 请参考问题的实际解决方案。

【讨论】:

我已经尝试过了,但它不起作用。我读了这个***.com/questions/6471959/…,但我需要澄清一下。 试试$('#devd_box_1').val('Your text here'); 我不能硬编码日期选择器的 id。我在上面发布的问题仅针对一个日期选择器,但正如我也提到的,该模块有多个日期选择器,其中最后一个数字(例如 _1)是动态填充的。 正如我所提到的,填充文本框没有问题。更多的是捕获日期选择器的 onChange 事件。 $('#devd_1').on('change', function (ev) 应该捕获事件。

以上是关于jQuery:如果 DatePicker UI 更改,则更新某个文本框的主要内容,如果未能解决你的问题,请参考以下文章

jQuery:如果 DatePicker UI 更改,则更新某个文本框

如何解决 jQuery UI Datepicker 的手动日期输入?

默认将 PHP 变量解析为 Jquery UI Datepicker

如果超出范围,防止 jQuery UI datepicker 更改文本字段的值

jQuery UI Datepicker 字段不允许手动更改

如何在 Jquery UI Datepicker 日期范围中再添加一天?