Как динамически изменять тип ввода в angular js
Всем привет,
Я работаю над MVC с angularJS. В котором я генерирую динамические HTML-элементы управления из angularjs на основе полей базы данных.
------------------------------------------------ Lable || Type ||IsRequired || MinLen || MaxLen ------------------------------------------------ Name || text ||Yes || 3 ||10 Mobile|| number||Yes || 10 ||12 DOB ||date ||Yes || -- ||-- ------------------------------------------------
И я создаю элементы управления с помощью функции javascript с помощью
document.CreateElement(input);
и проверка значений базы данных в случае чего
if(DatabaseType=="text"){ document.CreateElement(input); input.type="text"; }else if(DatabaseType=="number"){ document.CreateElement(input); input.type="number"; }else if(DatabaseType=="date"){ document.CreateElement(input); input.type="date"; }
и добавить такие элементы в DIV с помощью
divId.appendChild(input);
подобный этому
Но когда мои значения меняются, то тип date дает мне проблему
он не позволяет вводить текст или число в это текстовое поле
Я также использовал функцию $compile, тогда она также дает мне проблему, пожалуйста, предложите мне решение
Короче говоря, я хочу динамически менять тип ввода, например дату на текст
но когда я делаю это, он не позволяет.
Что я уже пробовал:
if(DatabaseType=="text"){ document.CreateElement(input); input.type="text"; }else if(DatabaseType=="number"){ document.CreateElement(input); input.type="number"; }else if(DatabaseType=="date"){ document.CreateElement(input); input.type="date"; } divId.appendChild(input); $compile(divId);