Эй может заставить Lucene проигнорировать специальные символы путем очистки запроса с чем-то как
query = QueryParser.Escape(query)
, Если Вы не хотите, чтобы Ваши пользователи когда-либо использовали усовершенствованный синтаксис в своих запросах, можно всегда делать это.
, Если Вы хотите, чтобы Ваши пользователи использовали усовершенствованный синтаксис, но Вы также хотите быть более прощающими с ошибками, которые необходимо только санировать после того, как ParseException произошел.
Оказывается, простое скрытое поле ввода выполняет свою работу:
<input type="hidden" id="dp" />
А затем используйте атрибут buttonImage для вашего изображения, как обычно:
$("#dp").datepicker({
buttonImage: '../images/icon_star.gif',
buttonImageOnly: true,
changeMonth: true,
changeYear: true,
showOn: 'both',
});
Сначала я попробовал поле ввода текста, а затем установите для него стиль display: none
, но при этом календарь будет появляться из верхней части браузера, а не из того места, где щелкнул пользователь. Но скрытое поле работает как надо.
В документации jQuery говорится, что datePicker необходимо присоединить к SPAN или DIV, если он не связан с полем ввода. Вы можете сделать что-то вроде этого:
<img src='someimage.gif' id="datepickerImage" />
<div id="datepicker"></div>
<script type="text/javascript">
$(document).ready(function() {
$("#datepicker").datepicker({
changeMonth: true,
changeYear: true,
})
.hide()
.click(function() {
$(this).hide();
});
$("#datepickerImage").click(function() {
$("#datepicker").show();
});
});
</script>
HTML:
<div class="CalendarBlock">
<input type="hidden">
</div>
CODE:
$CalendarBlock=$('.CalendarBlock');
$CalendarBlock.click(function(){
var $datepicker=$(this).find('input');
datepicker.datepicker({dateFormat: 'mm/dd/yy'});
$datepicker.focus(); });
Если вы используете поле ввода и значок (как в этом примере):
<input name="hasta" id="Hasta" type="text" readonly />
<a href="#" id="Hasta_icono" ></a>
Вы можете прикрепить указатель даты к своему значку (в моем случае внутри тег A через CSS) следующим образом:
$("#Hasta").datepicker();
$("#Hasta_icono").click(function() {
$("#Hasta").datepicker( "show" );
});