Sasa Posted March 6, 2008 Report Posted March 6, 2008 nekādi nevaru izdomāt kā vajadzētu izskatīties šāda veida pārbaudei iekš java script: kaut kāds vērtību saraksts: (saraksta sākums) a1 a2 a3 a4 a5 a6 (saraksta beigas.) if (document.getElementById('tips').value == "ok" un document.getElementById('kods').value == kāda vērtība no augstāk minētā saraksta.){ pildīt šo un to } Kā lai izveido šāda veida pārbaudi?
andrisp Posted March 6, 2008 Report Posted March 6, 2008 Tas saraksts ir masīvs ? Pagūglē pēc "javascript in_array"
Klez Posted March 6, 2008 Report Posted March 6, 2008 šis tev varētu noderēt. laps projekts :) http://kevin.vanzonneveld.net/techblog/category/php2js/
Sasa Posted March 6, 2008 Author Report Posted March 6, 2008 saraksts vēl nav nekā sataisīts. nezinu kā taisīt, lai vēlak es varētu sataisīt šāda tipa pārbaudi!
andrisp Posted March 6, 2008 Report Posted March 6, 2008 A kur tad tev tie dati glabājas ? Ja vēl nekur, tad taisi masīvu.
Sasa Posted March 6, 2008 Author Report Posted March 6, 2008 šādi varētu nostrādāt: if( document.getElementById('tips').value == 'ok' && document.getElementById('kods').value in list_(['GS-1/75', 'GS-1/80','GS-1/82', ... u.t.t]) ){ ... } ?
andrisp Posted March 6, 2008 Report Posted March 6, 2008 Godīgi sakot, pirmo reizi redzu tādu konstrukciju. Bet vispār varbūt izmēģini nevis jautā "vai varētu nostrādāt" ?
bubu Posted March 6, 2008 Report Posted March 6, 2008 Sasa katru reizi pārsteidz ar saviem jautājumiem :) Ja bieži nevajadzēs meklēt tajā sarakstā, tad taisi prastu for ciklu: var arr = ['GS-1/75', 'GS-1/80', 'GS-1/82']; var found = false; var value = document.getElementById('kods').value; for (var i=0; i<arr.length; ++i) { if (arr[i] == value) { found = true; break; } } if( document.getElementById('tips').value == 'ok' && found) { ... } Turpretī, ja vajadzēs bieži meklēt tajā sarakstā to vērtību, tad taisi dictionarijum nevis masīvu. Tādējādi meklēšanas laiks būs O(log N) nevis O(N): var arr = ['GS-1/75', 'GS-1/80', 'GS-1/82']; // šito izdari tikai vienreiz! var obj = {} for (var i=0; i<arr.length; ++i) { obj[arr[i]] = true; } // un kad vajag meklēt, tad: var value = document.getElementById('kods').value; var found = obj[value]; if( document.getElementById('tips').value == 'ok' && found) { ... }
Sasa Posted March 6, 2008 Author Report Posted March 6, 2008 izskatās, ka man sanāca kaut kā šadi: if ( document.all('xtips',i).value == "Figurala" && document.all('xkods',i).innerHTML in {'GS-1/75':'', 'GS-1/80':'','GS-1/82':''} ) { ... }
Recommended Posts