options[...].text null или не явл. объектом в for
Здравствуйте.
Как всегда у меня возникла проблема с js и ие Недавно получил заказ, требовалось в 3 селектах выбрать нужные 3 символа, исходя из введенных символов в инпут, в принципе в хроме и фф этот скрипт более менее стабильно работал, правда иногда после изменений инпута, выбирал некорректные опции в селектах... есть 3 селекта, в каждом опции A-Z, 0-9... + дефолтная опция "select" под 0. что бы данный скрипт нормально работал, мне пришлось в цикл вести изменения, вместо 36 я поставил 39. однако, ие ругается на numar['iim'] = selectform1.options[selectform1.selectedIndex + iim].text.replace(/\s/g, ""); и на похожие строки. Скажите пожалуйста как исправить ошибку "options[...].text - null или не является объектом"? Заранее благодарен. function dddd() { var formform = document.getElementById("information1").getElementsByTagName("select") var formnumber1 = document.getElementById("formnumber1").innerHTML.replace(/:/g, "").replace(/Character /g, "").replace(/\s/g, ""); formnumber1 = Number(formnumber1) - 1; var formnumber2 = document.getElementById("formnumber2").innerHTML.replace(/:/g, "").replace(/Character /g, ""); formnumber2 = Number(formnumber2) - 1; var formnumber3 = document.getElementById("formnumber3").innerHTML.replace(/:/g, "").replace(/Character /g, ""); formnumber3 = Number(formnumber3) - 1; var selectform1 = document.getElementById("memInfo1") var selectform2 = document.getElementById("memInfo2") var selectform3 = document.getElementById("memInfo3") var passinput = document.getElementById("someinput").value var numar= new Array(); var numar2= new Array(); var numar3= new Array(); if (passinput.length > 3) { for (var iim = 0; iim < 39; iim++) { numar['iim'] = selectform1.options[selectform1.selectedIndex + iim].text.replace(/\s/g, ""); if (numar['iim'] == passinput.charAt(formnumber1)) { selectform1.selectedIndex = iim; alert("sdfgh"); } numar2['iim'] = selectform2.options[selectform2.selectedIndex + iim].text.replace(/\s/g, ""); if (numar2['iim'] == passinput.charAt(formnumber2)) { selectform2.selectedIndex = iim; alert("sdfgh"); } numar3['iim'] = selectform3.options[selectform3.selectedIndex + iim].text.replace(/\s/g, ""); if (numar3['iim'] == passinput.charAt(formnumber3)) { selectform3.selectedIndex = iim; alert("sdfgh"); } } } else { alert("Alert."); } } |
Цитата:
<!DOCTYPE html> <HTML> <HEAD> <TITLE></TITLE> <style> </style> <script> function Go(Obj) { var i=Obj.selectedIndex alert(Obj.options[i].text) } </script> </HEAD> <BODY> <select id='test' onchange='Go(this)'> <option>text 1</option> <option>text 2</option> <option>text 3</option> </select> </BODY> </HTML> |
Дело в том, что мы не изменяем нечего в селектах) мы вписываем слово в инпут, а из него выдергиваться нужные символы, после чего в цикле for идет проверка, и если выдернутый символ совпадает с одной из строк опшнс, то выбираем ее..
|
А зачем это тут?
Цитата:
|
хммм...у меня без этого вроде в хроме не работало) проблема в переменной iim как я понял..если вместо нее поставить число, то работать будет...
|
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 10:34. |