Изменение HTML в WebView программно
подскажите почему не работает замена значения value
хочу програмно изменить(поменять местами) пункты select на веб странице заменив значения value.
чтобы по дефолту был Basic
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView web, String url) {
// TODO Auto-generated method stub
String Def = "Basic";
String Bas = "Default";
mWebView.loadUrl("javascript:(function(){document.getElementsByTagName('Default').value = '"+Def+"';})()");
mWebView.loadUrl("javascript:(function(){document.getElementsByTagName('Basic').value = '"+Bas+"';})()");
}
});
html код на странице
<select id="skinselector" name="RelayState" class="form-control">
<option value="Default" selected="selected">по умолчанию</option>
<option value="Basic">Базовый</option>
<option value="New">Новый</option></select>
Ответы (1 шт):
Автор решения: LockD
→ Ссылка
решил данную проблему
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView web, String url) {
mWebView.loadUrl("javascript:(function(){document.querySelector(\"#skinselector > option[selected]\").removeAttribute(\"selected\");})()");
mWebView.loadUrl("javascript:(function(){document.querySelector(\"#skinselector > option[value='Basic']\").setAttribute(\"selected\", \"selected\");})()");
}
});
просто удаляю и присваиваю заново нужному пункту
selected="selected"