【发布时间】:2014-08-01 05:12:23
【问题描述】:
在我的页面上,有多个地方的日期字段呈现如下; 因此,某些日期始终显示在可编辑的文本框中,而其他日期则显示为标签(然后进行内联编辑)
<div class="editableDateTxt" title="06/04/2014">06/04/2011</div>
<input type="text" value="" placeholder="mm/dd/yyyy" name="date1" id="date1" class="datePicker">
<input type="text" value="" placeholder="mm/dd/yyyy" name="date2" id="date2" class="datePicker">
<div class="editableDateTxt" title="06/04/2014">06/04/2012</div>
<input type="text" value="" placeholder="mm/dd/yyyy" name="date3" id="date3" class="datePicker">
<div class="editableDateTxt" title="06/04/2014">06/04/2013</div>
<input type="text" value="" placeholder="mm/dd/yyyy" name="date4" id="date4" class="datePicker">
现在我需要实现内联编辑...即单击标签时,我想显示 jQuery UI 日期选择器,而在模糊时,我想隐藏...
所以我使用下面的代码;
$(document).on("click",".editableDateTxt", function () {
var input = $('<input />', {'type': 'text', 'class':'datePicker', 'value': $(this).html()});
$(this).parent().append(input);
$(this).remove();
input.focus();
$('.datePicker').datepicker().datepicker('show');
});
$(document).on("blur",".datePicker", function () {
$(this).parent().append($("<div class='editableDateTxt'/>").html($(this).val()));
$(this).remove();
});
但是,这条线似乎有问题;
$('.datePicker').datepicker().datepicker('show');
因为有多个元素具有类 datePicker...如何确保仅在单击具有类“editableDateTxt”的 div 元素时才显示日期选择器?
试过选择代码
我更新了如下代码,但 select 没有任何反应(我什至尝试在 onSelect 中添加警报,但它没有触发)
$(parent).find('.datePicker').datepicker().datepicker({
onSelect: function(date) {
parent.append($("<div class='editableDateTxt'/>").html(date));
$(this).remove();
}
}).datepicker('show');
【问题讨论】:
标签: javascript jquery jquery-ui datepicker