Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Помощ за код със Javascript

Featured Replies

Имаме два селекта един за държави а другия за области.

За областите със id=city си ги създавам със два масива като всичко е с джаваскрипт.

var CountryId=document.getElementById("state");
var CityId=document.getElementById("city");
var CityText;
var CityValue;
var i;

Вземам идито на държавите със id=state, другото ид е ясно.

Като CityText ще съдържа масив със областите, а CityValue съответно тяхната стойност, а var i; се използва във for цикли.

CountryId.onchange=function(){
var SelectOption=CountryId.options[CountryId.selectedIndex].value;
if(SelectOption=="AL"){
CityText=new Array("<? echo $lang['oblast_selected'];?>","<? echo $lang['oblast_albaniq'];?>","<? echo $lang['oblast_berat'];?>");
CityValue=new Array("0","1","2");
for(i=0;i<CityText.length;i++){
CityId.options[i]=new Option(CityText[i],CityValue[i]);
if(CityId.options[i].value=="<? echo $city;?>"){CityId.options[i].selected=true;}
}else if(SelectOption=="DZ"){
CityText=new Array("<? echo $lang['oblast_selected'];?>","<? echo $lang['oblast_algeria'];?>","<? echo $lang['oblast_adrar'];?>","<? echo $lang['oblast_annaba'];?>","<? echo $lang['oblast_shlef'];?>","<? echo $lang['oblast_laguna'];?>","<? echo $lang['oblast_umm_el_buagi'];?>");
CityValue=new Array("0","3","4","5","6","7","8");
for(i=0;i<CityText.length;i++){
CityId.options[i]=new Option(CityText[i],CityValue[i]);
if(CityId.options[i].value=="<? echo $city;?>"){CityId.options[i].selected=true;}
}
};
window.onload = CountryId.onchange;

Както споменах по-горе имаме два масива със областите и тяхната стойност. От там преброяваме според коя държава сме избрали. Ако сме избрали Албания тя има стойност AL, Съответно правим if конструкция за албания

if(SelectOption=="AL"){}

във конструкцията се съдържат двата арея и със for цикъл създавам опциите като обхождам масива със заглавията на държавите, тоест CityText и според броя на ключовете създавам опциите. А за конструкцията

if(CityId.options[i].value=="<? echo $city;?>"){CityId.options[i].selected=true;}

Вадя от сяла стойноста, ако има избрана такава и селектвам опцията която съдържа тази стойност.

А

 window.onload = CountryId.onchange;

Използвам за да ми даде веднага коя държава е избрана(селектната).

Проблема ми е че за всяка държава са различен брой областите и, Ако се избрали например държавата със стойност DZ която съдържа 7 области, и веднага след това като избера Албания със стойност AL която има три области, след тези три области се прибавят и на DZ до 7.

И от там ми идва проблема трябва да измисля как да преброявам колко области има дадената държава и излишните със remove(); да ги махам.

Тоест нещо такова :

function RemoveCityId(){
var i;
for(i=0;i<CityText.length;i++){CityId.options[i].remove(i);}
}

При това положение като я извикам горе след

CountryId.onchange=function(){
var SelectOption=CountryId.options[CountryId.selectedIndex].value;
RemoveCityId();

Ми изтрива всичките създадени опции и причината мисля че е

 window.onload = CountryId.onchange;

ако не се бъркам нещо.

Въпросът ми е какъв вариянт да измисля да премахвам излишните опции които остават от друга държава с повече области от съответната избрана с по-малко области.

Очаквам предложения.

Не знам за другото, но вместо window.onload използвай addEventListener();

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.