У меня возникла ситуация, когда я проверяю тип ввода с помощью jquery.У меня есть раскрывающийся список HTML, который содержит различные параметры ("select:first-child"
).Я пытаюсь проверить поле ввода на основе этих параметров, для этого я написал следующий код в jquery.Например, если я выберу «Количество», в поле ввода должны быть только цифры.Если я выбираю «TradeDate», тогда в поле ввода должна быть указана дата.
Теперь проблема в том, что когда я выбираю параметр с типом date, появляется datepicker для выбора даты.Но когда я выбираю любой другой параметр, имеющий номера типа, на входе все еще отображается указатель даты.
Итак, где я ошибаюсь, я хочу каждый раз, когда эта проверка
Здесь тип переменной [1] содержит типпараметр, например.float, date, char и т. д.
$("#cond_div").children("select:first-child").change(function(event){
var temp = $(this).val();
var type = temp.split("_");
$("#cond_div").children("input").on("keypress keyup", function () {
if (type[1].localeCompare("date") == 0) {
$(this).datepicker();
}
else if (type[1].localeCompare("float") == 0) {
$(this).val($(this).val().replace(/[^0-9\.]/g, ''));
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
}
else if (type[1].localeCompare("int") == 0) {
$(this).val($(this).val().replace(/[^0-9\.]/g, ''));
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
}
});
});