Jquery 日期选择器需要被选择两次
Jquery datapicker requires to be selected twice
感谢您抽出时间来帮助我。
我希望获得帮助的是我的日期选择器。我正在构建一个用作电子邮件模板的小型网络表单。所以我的想法是填写表格,点击创建,然后用表格信息填充电子邮件。
但是,我的日期选择器要求我两次 select 日期,直到将正确的日期打印到电子邮件中。第一个 selection 将无结果,第三次尝试将导致第二个 selection 输出,依此类推。
我使用的是Jquery1.12.4,我的代码如下:
JS:
$(function(){
$( "#IncidentDateInput" ).datepicker({
dateFormat: 'dd/mm/yy'
});
});
function updateMailString() {
mailString = '?subject=' + encodeURIComponent($('#subject').val())
+ '&body=Agent Name: ' + encodeURIComponent($('#AgentNameInput').val())
+"%0D%0AMDN: " +encodeURIComponent($('#MDNInput').val())
+"%0D%0ADevice: " +encodeURIComponent($('#DeviceInput').val())
+"%0D%0AIssue: " +encodeURIComponent($('#IssueInput').val())
+"%0D%0ADate: " +encodeURIComponent($('#IncidentDateInput').val());
var receiver = encodeURIComponent($('#ReceiverInput').val());
$('#mail-link').attr('href', 'mailto:' + receiver + mailString);
}
$( "#IncidentDateInput" ).focusout(function() { updateMailString(); });
Html:
<input type="text" id="IncidentDateInput" />
任何见解都会很棒,谢谢。
尝试使用 change
而不是 focusout
。当使用 focusout
输入保持为空并调用 updateMailString
函数。在使用 change
函数时,在更改输入(日期选择器)后,将调用 updateMailString
函数
$(document).ready(function() {
$('#IncidentDateInput').datepicker({
dateFormat: 'dd/mm/yy',
});
$("#IncidentDateInput").change(function() {
updateMailString();
});
})
function updateMailString() {
mailString = '?subject=' + encodeURIComponent($('#subject').val()) + "%0D%0ADate: " + encodeURIComponent($('#IncidentDateInput').val());
var receiver = encodeURIComponent($('#ReceiverInput').val());
$('#mail-link').attr('href', 'mailto:' + receiver + mailString);
alert($('#mail-link').attr('href'))
}
感谢您抽出时间来帮助我。 我希望获得帮助的是我的日期选择器。我正在构建一个用作电子邮件模板的小型网络表单。所以我的想法是填写表格,点击创建,然后用表格信息填充电子邮件。 但是,我的日期选择器要求我两次 select 日期,直到将正确的日期打印到电子邮件中。第一个 selection 将无结果,第三次尝试将导致第二个 selection 输出,依此类推。
我使用的是Jquery1.12.4,我的代码如下:
JS:
$(function(){
$( "#IncidentDateInput" ).datepicker({
dateFormat: 'dd/mm/yy'
});
});
function updateMailString() {
mailString = '?subject=' + encodeURIComponent($('#subject').val())
+ '&body=Agent Name: ' + encodeURIComponent($('#AgentNameInput').val())
+"%0D%0AMDN: " +encodeURIComponent($('#MDNInput').val())
+"%0D%0ADevice: " +encodeURIComponent($('#DeviceInput').val())
+"%0D%0AIssue: " +encodeURIComponent($('#IssueInput').val())
+"%0D%0ADate: " +encodeURIComponent($('#IncidentDateInput').val());
var receiver = encodeURIComponent($('#ReceiverInput').val());
$('#mail-link').attr('href', 'mailto:' + receiver + mailString);
}
$( "#IncidentDateInput" ).focusout(function() { updateMailString(); });
Html:
<input type="text" id="IncidentDateInput" />
任何见解都会很棒,谢谢。
尝试使用 change
而不是 focusout
。当使用 focusout
输入保持为空并调用 updateMailString
函数。在使用 change
函数时,在更改输入(日期选择器)后,将调用 updateMailString
函数
$(document).ready(function() {
$('#IncidentDateInput').datepicker({
dateFormat: 'dd/mm/yy',
});
$("#IncidentDateInput").change(function() {
updateMailString();
});
})
function updateMailString() {
mailString = '?subject=' + encodeURIComponent($('#subject').val()) + "%0D%0ADate: " + encodeURIComponent($('#IncidentDateInput').val());
var receiver = encodeURIComponent($('#ReceiverInput').val());
$('#mail-link').attr('href', 'mailto:' + receiver + mailString);
alert($('#mail-link').attr('href'))
}