У меня такая же проблема в одном из моих приложений. Использование приложения, расширяющего MultiDexApplication
, например:
public class AppContext extends MultiDexApplication {
...
}
и использование мультидексных зависимостей, таких как:
compile 'com.android.support:multidex:1.0.3'
не сработало.
Я решаю это, используя MultiDex.install
в классе приложений. Примерно так:
import android.support.multidex.MultiDex;
public class AppContext extends Application {
...
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
Вы неверно истолковываете, что делает событие onchange при применении к текстовой области. Он не сработает, пока не потеряет фокус или вы не нажмете Enter. Почему бы не запустить функцию из onchange в списке выбора, который заполняет текстовую область?
Узнайте больше о событии onchange: w3schools
«onchange» запускается только тогда, когда атрибут изменяется программно или когда пользователь вносит изменение, а затем фокусируется с поля.
Вы смотрели на использование объекта календаря YUI? Я разработал решение, которое помещает календарь yui в панель yui и скрывает панель до щелчка на соответствующем изображении. Я могу видеть изменения от любого.
http://developer.yahoo.com/yui/examples/calendar/formtxt.html
Вы можете запустить событие просто с помощью
document.getElementById("elementID").onchange();
. Я не знаю, работает ли это в некоторых браузерах, но оно должно работа над FF 3 и IE 7+
Onchange
срабатывает только тогда, когда пользователь вводит что-то с клавиатуры. Возможный обходной путь может заключаться в том, чтобы сначала сфокусировать текстовое поле, а затем изменить его.
Но почему бы не получить событие, когда пользователь нажимает на дату? Там уже должен быть какой-то JavaScript.
Ваше население со стороны сервера. Использование registerclientscript поместит скрипт в начало формы. Вы захотите использовать RegisterStartupScript (Block), чтобы поместить скрипт в конец рассматриваемой страницы.
Первый пытается запустить скрипт раньше текстовая область существует в dom, последний запустит скрипт после того, как этот элемент на странице будет создан.