Witajcie, pracuję na pewnym systemie webowym i mam z nim jeden duży problem - przy pewnych dokumentach mam listę urządzeń, natomiast do każdego z nich mam przypisany domyślnie status tego urządzenia który przed zapisem dokumentu muszę zmienić na poprawny. Czasami taka lista zawiera dziesiątki albo setki pozycji do zmiany, i każdą muszę przeklikiwać ręcznie - strata czasu i nerwów. Niestety muszę liczyć sam na siebie w tej kwestii, nie ma możliwości dorobienia takiej opcji bezpośrednio w aplikacji, stąd chciałem lokalnie "dopisać" sobie kawałek kodu, abym mógł za jednym zamachem wszystkie takie selecty ustawić na konkretną wartość.
Znalazłem podobny wątek:
https://forum.pasja-informatyki.pl/210865/ustawianie-wartosci-wszystkich-pol-select
Pożyczyłem sobie kod z jednej z odpowiedzi, który po mojej nieudolnej przeróbce wygląda tak:
<html>
<head>
<script>
function onSelect()
{
var mainListIndex = document.getElementsByClassName("condition_select").selectedIndex;
document.getElementsByClassName("condition_select").selectedIndex = mainListIndex;
}
</script>
</head>
<body>
<div>
<select id="mainList" class="condition_select" onChange="onSelect()">
<option value="0">Wybierz wartość, ktora pojawi się w innych dropdownach</option>
<option value="1">Opcja 1</option>
<option value="2">Opcja 2</option>
<option value="3">Opcja 3</option>
</select>
</div>
<br/>
<div>
<select id="detailList1" class="condition_select" name="detailList1">
<option value="0">Wybierz</option>
<option value="1">Opcja 1</option>
<option value="2">Opcja 2</option>
<option value="3">Opcja 3</option>
</select>
<select id="detailList2" class="condition_select" name="detailList2">
<option value="0">Wybierz</option>
<option value="1">Opcja 1</option>
<option value="2">Opcja 2</option>
<option value="3">Opcja 3</option>
</select>
</div>
</body>
</html>
Natomiast kawałek kodu aplikacji na której pracuję wygląda następująco:
<select id="12345678_" class="condition_select" name="12345678[]">
<option value=""></option>
<option value="1" selected="selected">Opcja 1</option>
<option value="2">Opcja 2</option>
<option value="3">Opcja 3</option>
<option value="4">Opcja 4</option>
<option value="5">Opcja 5</option></select>
</select>
Problem polega na tym, że w moim wypadku pola id i name zawsze są różne, natomiast klasa jest wspólna dla każdego pola wyboru i jest nią "condition_select". W skrypcie który znalazłem postanowiłem zmienić GetElementById na GetElementsByClassName, na chłopski rozum zmieniając parametr po którym funkcja wyszukuje co ma zmienić. Jednak niestety nie chce to działać... Z racji tego, że nie umiem w JS proszę o pomoc, pewnie będzie to zwykła pierdoła dla osoby znającej JS
W tym konkretnym wypadku nie ma dla mnie znaczenia żeby wszystko było wg. zasad "czystości i poprawności kodu", to ma po prostu działać, dlatego nie ma znaczenia dla mnie czy będzie to oparte na tym co napisałem czy całkowicie inaczej, nawet z pominięciem JS - ma działać.
Z góry serdecznie dziękuję