我在jquery ui datepicker上使用altfield和altformat选项向用户显示友好日期,同时在隐藏字段中为数据库格式化日期。唯一的问题是,我不希望在输入框中显示给用户的日期(在视觉上它表明他们可以输入它),我只是希望它显示为文本。我知道我可以设置输入框的样式,因此它看起来不像是一个,但我宁愿只使用div并更新文本。但是,它似乎只适用于输入字段,如果将其设置为div id,它什么都不做。
有没有人克服过这个问题?
答案 0 :(得分:11)
我已经在onSelect中使用它来显示div:
onSelect: function(dateText, inst) {
//formatDate Requires a new date object to work
var myDate = new Date(dateText);
//Set a new var with different format to use
var newFormat = $.datepicker.formatDate("DD, d MM, yy", myDate);
//Choose the div you want to replace
$("#yourselctorhere").html(newFormat);
}
});
答案 1 :(得分:5)
答案是输入type = hidden然后选择值并将其分配给div的文本
$("myPicker").datepicker({
altField: "#altInput",
var hiddenDate = $("[name='altInput']").attr('value');
$("#myDate").text(hiddenDate);}
});
<input id = "altInput" type = "hidden"/>
<div id = "myDate"></div>
答案 2 :(得分:0)
使用Css:P
.div,.div:focus{
display:block;
background:#fff;
border:0px;
color:#333
}
<input type="text" class="div" readonly id="altInput" />
答案 3 :(得分:0)
我发现的最好方法是在 jquery.ui.datepicker-cc.js 文件中更改此内容
首先搜索 _updateAlternative 函数并更改此行:
$(altField).each(function() { $(this).val(dateStr); });
例如我已经改为:
$(altField).each(function() { $(this).val(dateStr); $(this).text(dateStr); });
现在您可以将替代文本放在您想要的任何元素中。 我希望这有帮助。
答案 4 :(得分:0)
dateFormat: 'yy-mm-dd',
// altField: '#dp-date',
onSelect: function(dateText) {
$('#dp-date').html(dateText);
},