 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
Mascka
Data înscrierii: 01/Oct/2005
Mesaje: 1282
Locație: Braila
|
| Trimis: Vin Ian 13, 2006 10:28 am Titlul subiectului: Un select de belea |
|
|
Am gasit pe net un select destul de bun si util , l`am modificat cat am putut dar intampin o problema destul de dubioasa. Copiati codul intr`o pagina simpla htm si veti vedea ca totul functioneaza mai putin o categorie si anume "Desktop". daca se sterg ultimile 4 randuri de la array merge si categoria respectiva. are cineva idee cam care este cauza? si acum sa postez taota polologhia:
Cod:
<TABLE cellSpacing=0 cellPadding=0 width=100% border=1>
<TBODY>
<TR>
<TD vAlign=top
bgColor=#f2f2f2><BR>
<CENTER>
<SCRIPT language=JavaScript>
<!--
var catlist = new Array();
catlist[0] = new Array(1, 0, 'Audio', 1);
catlist[1] = new Array(2, 0, 'Business & Finance', 1);
catlist[2] = new Array(3, 0, 'Desktop', 1);
catlist[3] = new Array(4, 0, 'Games', 1);
catlist[4] = new Array(5, 0, 'Home & Education', 1);
catlist[5] = new Array(6, 0, 'Internet', 1);
catlist[6] = new Array(7, 0, 'Multimedia & Design', 1);
catlist[7] = new Array(8, 0, 'Software', 1);
catlist[8] = new Array(9, 0, 'Utilities', 1);
catlist[9] = new Array(10, 0, 'Web Authoring', 1);
catlist[10] = new Array(11, 1, 'Featured Track', 1);
catlist[11] = new Array(12, 1, 'Juke Boxe', 1);
catlist[12] = new Array(13, 1, 'Midi', 1);
catlist[13] = new Array(14, 1, 'Mp3 Search', 1);
catlist[14] = new Array(15, 1, 'Music Creation', 1);
catlist[15] = new Array(16, 1, 'Music Management', 1);
catlist[16] = new Array(17, 1, 'Players', 1);
catlist[17] = new Array(18, 1, 'Ripper & Encoders', 1);
catlist[18] = new Array(19, 1, 'Media Streaming', 1);
catlist[19] = new Array(20, 1, 'Utilities & Plug-ins', 1);
catlist[20] = new Array(21, 2, 'Aplications', 1);
catlist[21] = new Array(22, 2, 'Business & Finance', 1);
catlist[22] = new Array(23, 2, 'Databse Management', 1);
catlist[23] = new Array(24, 2, 'Inventory Systems', 1);
catlist[24] = new Array(25, 2, 'Legal', 1);
catlist[25] = new Array(26, 2, 'Personal Finance', 1);
catlist[26] = new Array(27, 2, 'Personal Info Managers', 1);
catlist[27] = new Array(28, 2, 'Presentation Tools', 1);
catlist[28] = new Array(29, 2, 'Project Management', 1);
catlist[29] = new Array(30, 2, 'Spreadsheets', 1);
catlist[30] = new Array(31, 2, 'Word Procesing', 1);
catlist[31] = new Array(32, 3, 'Cursors', 1);
catlist[32] = new Array(33, 3, 'Font Tools', 1);
catlist[33] = new Array(34, 3, 'Fonts', 1);
catlist[34] = new Array(35, 3, 'Icon Tools', 1);
catlist[35] = new Array(36, 3, 'Icons', 1);
catlist[36] = new Array(37, 3, 'Screensavers', 1);
catlist[37] = new Array(38, 3, 'Shell & Desktop', 1);
catlist[38] = new Array(39, 3, 'Skins', 1);
catlist[39] = new Array(40, 3, 'Start-up & Shutdown', 1);
catlist[40] = new Array(41, 3, 'Themes', 1);
catlist[41] = new Array(42, 3, 'Wallpapers', 1);
catlist[42] = new Array(43, 4, 'Actions', 1);
catlist[43] = new Array(44, 4, 'Adventure & RPG', 1);
catlist[44] = new Array(45, 4, 'Arcade', 1);
catlist[45] = new Array(46, 4, 'Cards Casino Lotery', 1);
catlist[46] = new Array(47, 4, 'Puzzle', 1);
catlist[47] = new Array(48, 4, 'Kids', 1);
catlist[48] = new Array(49, 4, 'Mods & Scenarious', 1);
catlist[49] = new Array(50, 4, 'Paches & Updates', 1);
catlist[50] = new Array(51, 4, 'Simulations', 1);
catlist[51] = new Array(52, 4, 'Sports', 1);
catlist[52] = new Array(53, 4, 'Strategy & War', 1);
catlist[53] = new Array(54, 4, 'Tools & Editors', 1);
catlist[54] = new Array(55, 5, 'Calendars & Planers', 1);
catlist[55] = new Array(56, 5, 'E-books & Literature', 1);
catlist[56] = new Array(57, 5, 'Foods & Beverage', 1);
catlist[57] = new Array(58, 5, 'Genealogy', 1);
catlist[58] = new Array(59, 5, 'Health & Nutrition', 1);
catlist[59] = new Array(60, 5, 'Hobbies', 1);
catlist[60] = new Array(61, 5, 'Home Inventory', 1);
catlist[61] = new Array(62, 5, 'Kids & Parenting', 1);
catlist[62] = new Array(63, 5, 'Language', 1);
catlist[63] = new Array(64, 5, 'Mathematics', 1);
catlist[64] = new Array(65, 5, 'Miscellaneous', 1);
catlist[65] = new Array(66, 5, 'Music', 1);
catlist[66] = new Array(67, 5, 'Religion & Spirituality', 1);
catlist[67] = new Array(68, 5, 'Science', 1);
catlist[68] = new Array(69, 5, 'Sports', 1);
catlist[69] = new Array(70, 5, 'Teaching Tools', 1);
catlist[70] = new Array(71, 6, 'Bowsers', 1);
catlist[71] = new Array(72, 6, 'Chat', 1);
catlist[72] = new Array(73, 6, 'Communications', 1);
catlist[73] = new Array(74, 6, 'Dial-up Connectivity', 1);
catlist[74] = new Array(75, 6, 'Download Managers', 1);
catlist[75] = new Array(76, 6, 'Email', 1);
catlist[76] = new Array(77, 6, 'FTP', 1);
catlist[77] = new Array(78, 6, 'File Sharing', 1);
catlist[78] = new Array(79, 6, 'ISPs', 1);
catlist[79] = new Array(80, 6, 'Newsreaders', 1);
catlist[80] = new Array(81, 6, 'Online Privacy', 1);
catlist[81] = new Array(82, 6, 'Tools & Editors', 1);
catlist[82] = new Array(83, 7, 'Animations', 1);
catlist[83] = new Array(84, 7, 'Authoring Tools', 1);
catlist[84] = new Array(85, 7, 'Fonts', 1);
catlist[85] = new Array(86, 7, 'Illustration', 1);
catlist[86] = new Array(87, 7, 'Image Editors', 1);
catlist[87] = new Array(88, 7, 'Media Management', 1);
catlist[88] = new Array(89, 7, 'Video', 1);
catlist[89] = new Array(90, 8, 'Active X', 1);
catlist[90] = new Array(91, 8, 'Compilers Interpreters', 1);
catlist[91] = new Array(92, 8, 'Components & Libraries', 1);
catlist[92] = new Array(93, 8, 'Database & Network', 1);
catlist[93] = new Array(94, 8, 'Debugging', 1);
catlist[94] = new Array(95, 8, 'IDEs & Coding', 1);
catlist[95] = new Array(96, 8, 'Java', 1);
catlist[96] = new Array(97, 8, 'Management & Distribution', 1);
catlist[97] = new Array(98, 8, 'Reference & Tutorials', 1);
catlist[98] = new Array(99, 8, 'Source Code', 1);
catlist[99] = new Array(100, 8, 'Tools & Utilities', 1);
catlist[100] = new Array(101, 9, 'Antivirus', 1);
catlist[101] = new Array(102, 9, 'Backup', 1);
catlist[102] = new Array(103, 9, 'Desktop & Enhancements', 1);
catlist[103] = new Array(104, 9, 'File & Disk Management', 1);
catlist[104] = new Array(105, 9, 'File Compresion', 1);
catlist[105] = new Array(106, 9, 'Font Tools', 1);
catlist[106] = new Array(107, 9, 'Icon Tools', 1);
catlist[107] = new Array(108, 9, 'Launchers', 1);
catlist[108] = new Array(109, 9, 'Network', 1);
catlist[109] = new Array(110, 9, 'Optimizers & Diagnostics', 1);
catlist[110] = new Array(111, 9, 'Printers', 1);
catlist[111] = new Array(112, 9, 'Screensavers', 1);
catlist[112] = new Array(113, 9, 'Security & Encryption', 1);
catlist[113] = new Array(114, 9, 'System Utilities', 1);
catlist[114] = new Array(115, 9, 'Uninstallers', 1);
catlist[115] = new Array(116, 10, 'HTML', 1);
catlist[116] = new Array(117, 10, 'Java', 1);
catlist[117] = new Array(118, 10, 'PHP', 1);
catlist[118] = new Array(119, 10, 'Reference & Tutorials', 1);
catlist[119] = new Array(120, 10, 'Servers', 1);
catlist[120] = new Array(121, 10, 'Site Management', 1);
catlist[121] = new Array(122, 10, 'Web Design', 1);
catlist[122] = new Array(123, 116, 'HTML Editors', 1);
catlist[123] = new Array(124, 116, 'HTML Compilers', 1);
function newList(numClear,field1,field2) {
var frm = document.items
var recursion_level = 2;
if(numClear == 4) {
clearCombo(frm.Select1)
clearCombo(frm.Select2)
clearCombo(frm.Select3)
clearCombo(frm.Select4)
}
else if(numClear == 3) {
clearCombo(frm.Select2)
clearCombo(frm.Select3)
clearCombo(frm.Select4)
}
else if(numClear == 2) {
clearCombo(frm.Select3)
clearCombo(frm.Select4)
}
else if(numClear == 1) {
clearCombo(frm.Select4)
}
var tmpnamearr = new Array();
var tmparr = new Array();
j=0;
loop_start = 0;
loop_end = catlist.length;
for(x=0;x<recursion_level;x++) {
if(field1.options[field1.selectedIndex].value > catlist[loop_start+Math.round((loop_end-loop_start)/2)][1]) {
loop_start = loop_start+Math.round((loop_end-loop_start)/2)
if(field1.options[field1.selectedIndex].value == catlist[loop_start][1]) {
if(loop_start-100 < 0) {
loop_start = 0;
}
else {
loop_start = loop_start-100;
}
}
if(field1.options[field1.selectedIndex].value == catlist[loop_end-1][1]) {
if(loop_end+100 > catlist.length) {
loop_end = catlist.length;
}
else {
loop_end = loop_end+100;
}
}
}
else {
loop_end = loop_start+Math.round((loop_end-loop_start)/2)
if(field1.options[field1.selectedIndex].value == catlist[loop_start][1]) {
if(loop_start-100 < 0) {
loop_start = 0;
}
else {
loop_start = loop_start-100;
}
}
if(field1.options[field1.selectedIndex].value == catlist[loop_end-1][1]) {
if(loop_end+100 > catlist.length) {
loop_end = catlist.length;
}
else {
loop_end = loop_end+100;
}
}
}
}
for(h=loop_start;h<loop_end;h++) {
if(catlist[h] && field1.options[field1.selectedIndex].value == catlist[h][1]) {
tmpnamearr[j] = catlist[h][2];
tmparr[catlist[h][2]] = catlist[h][0];
j++;
}
}
tmpnamearr = tmpnamearr.sort();
for(h=0;h<j;h++) {
newOpt2 = tmpnamearr[h];
newOpt = tmparr[newOpt2];
field2.length=h+1;
field2.options[h] = new Option(newOpt2,newOpt)
}
if(j == '0') {
frm.categoria.value = field1.options[field1.selectedIndex].value;
document.getElementById('submit_button').style.display='block';
hide_all();
for(y=2;y<(6-numClear);y++) {
document.getElementById('box'+y).style.display='block'
}
}
else {
document.getElementById('submit_button').style.display='none';
frm.categoria.value = '0';
hide_all();
for(y=2;y<(7-numClear);y++) {
document.getElementById('box'+y).style.display='block'
}
}
}
function finale(inBox) {
frm.categoria.value = inBox.options[inbox.selectedIndex].value
}
function clearCombo(elem){
var i;
for (i = elem.options.length; i >= 0; i--) elem.options[i] = null;
elem.selectedIndex = -1;
elem.options[0]= new Option("<-----------------------------","No Category Selected");
}
function hide_all(){
var i;
for(i=2;i<6;i++) document.getElementById('box'+i).style.display='none';
}
//-->
</SCRIPT> <form name=items action="index.php?a=admin&b=adauga" method="post">
<TABLE cellSpacing=3 cellPadding=3 border=0>
<TBODY>
<TR height=120>
<TD vAlign=center align=middle width="33%"><SELECT
class=selects id=SelectM style="WIDTH: 200px"
onclick="newList(4, document.items.SelectM,document.items.Select1)"
onchange="newList(4, document.items.SelectM,document.items.Select1)"
size=7 name=SelectM>
<OPTION value=1>Audio</OPTION>
<OPTION value=2>Business & Finance</OPTION>
<OPTION value=3>Desktop</OPTION>
<OPTION value=4>Games</OPTION>
<OPTION value=5>Home & Education</OPTION>
<OPTION value=6>Internet</OPTION>
<OPTION value=7>Multimedia & Design</OPTION>
<OPTION value=8>Software</OPTION>
<OPTION value=9>Utilities</OPTION>
<OPTION value=10>Web Authoring</OPTION>
</SELECT> </TD>
<TD vAlign=center align=middle width="33%">
<DIV id=box2 style="DISPLAY: none"><SELECT class=selects
id=Select1 style="WIDTH: 200px"
onclick="newList(3, document.items.Select1,document.items.Select2)"
onchange="newList(3, document.items.Select1,document.items.Select2)"
size=7 name=Select1></SELECT> </DIV></TD>
<TD vAlign=center align=middle width="33%">
<DIV id=box3 style="DISPLAY: none"><SELECT class=selects
id=Select2 style="WIDTH: 200px"
onclick="newList(2, document.items.Select2,document.items.Select3)"
onchange="newList(2, document.items.Select2,document.items.Select3)"
size=7 name=Select2></SELECT> </DIV></TD></TR>
<TR>
<TD vAlign=center align=middle width="33%">
<DIV id=box4 style="DISPLAY: none"><SELECT class=selects
id=Select3 style="WIDTH: 200px"
onclick="newList(1, document.items.Select3,document.items.Select4)"
onchange="newList(1, document.items.Select3,document.items.Select4)"
size=7 name=Select3></SELECT> </DIV></TD>
<TD vAlign=center align=middle width="33%">
<DIV id=box5 style="DISPLAY: none"><SELECT class=selects
id=Select4 style="WIDTH: 200px"
onclick=finale(document.items.Select4)
onchange=finale(document.items.Select4) size=7
name=Select4></SELECT> </DIV></TD></TR>
</TBODY></TABLE>
<DIV id=submit_button style="DISPLAY: none">
<INPUT type=text name="categoria" value=""> <BR>
<INPUT name="submit" class=formbutton type=submit value="Adauga Resursa">
</DIV></FORM><BR></CENTER>
</TBODY></TABLE>
|
|
| Sus |
|
humeniuc
Data înscrierii: 14/Ian/2006
Mesaje: 6
|
| Trimis: Sâm Ian 14, 2006 12:40 am Titlul subiectului: |
|
|
Incearca sa faci testul de la linia 170 :
if(field1.options[field1.selectedIndex].value >= catlist[loop_start+Math.round((loop_end-loop_start)/2)][1]) { |
|
| Sus |
|
Mascka
Data înscrierii: 01/Oct/2005
Mesaje: 1282
Locație: Braila
|
| Trimis: Sâm Ian 14, 2006 11:51 am Titlul subiectului: |
|
|
humeniuc a scris: Incearca sa faci testul de la linia 170 :
if(field1.options[field1.selectedIndex].value >= catlist[loop_start+Math.round((loop_end-loop_start)/2)][1]) {
sincer..nu am inteles maim nimik. Poti fi mai explicit? |
|
| Sus |
|
humeniuc
Data înscrierii: 14/Ian/2006
Mesaje: 6
|
| Trimis: Sâm Ian 14, 2006 9:03 pm Titlul subiectului: |
|
|
testul respectiv, cum il faci tu, e doar cu ">".
si se intampla ca pentru sectiunea pe care o cauti care are id = 3 testul sa nu se comporte cum trebuie.
fa testul cu ">=" si o sa functioneze. la mine a functionat.
dar oricum, algoritmul de selectie a subelementelor e destul de ciudat.
vezi cum merge la http://humeniuc.go.ro/test.html |
|
| Sus |
|
Mascka
Data înscrierii: 01/Oct/2005
Mesaje: 1282
Locație: Braila
|
| Trimis: Lun Ian 16, 2006 9:34 am Titlul subiectului: |
|
|
| Multumesc foarte mult.. da merge... |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|