2014-06-22 2 views
1

확인 제가 만들고있는 선택 객체가 있습니다. 생성 할 때 양식을 올바르게 만들지 만 선택에서 값을 검색하기위한 코드를 추가 할 때 생성합니다 null이라는 오류가 나타납니다. 내가 여기 혼란스러워 보였던 것에 꽤 가치있는 쿠키 커터를 얻기 위해 사용하고있는 코드. 아래 옵션에 대한 코드와 가치를 잡아 코드를 내가 어떤 도움을 크게 주시면 문제를보고 아니에요.JavaScript 선택 드롭 다운에서 값의 값을 검색 할 수 없습니다.

var tools = document.createElement('select'); 
tools.id = 'sTools'; 
tools.name = 'sTools'; 
form.appendChild(tools); 

var option = document.createElement('option'); 
option.value = '33'; 
option.appendChild(document.createTextNode('Forge')); 
tools.appendChild(option); 

option = document.createElement('option'); 
option.value = '1391'; 
option.appendChild(document.createTextNode('Workbench')); 
tools.appendChild(option); 

option = document.createElement('option'); 
option.value = '1753'; 
option.appendChild(document.createTextNode('Oven')); 
tools.appendChild(option); 




var e = document.getElementById("sTools"); 
var cTool = e.options[e.selectedIndex].value; 

어떤 도움을 주시면 대단히 감사하겠습니다.

+0

- http://jsfiddle.net/johnbk/e33uW/ - - 바이올린을 확인뿐만 아니라 당신의 HTML을 제공하십시오 –

+0

그냥 BTW 논평 - 당신이 표기법을 사용할 수있는'VAR option = new Option ('Forge', 33);'첫 번째 옵션을 직접적으로 대체하기 때문에 - 'document.createElement'와'document.createTextNode'를 사용하는 4 개의 명령문이 필요 없습니다. 옵션을 만든 다음 상위 선택 요소에 추가하십시오. – enhzflep

답변

0

다음과 같음 : jsBin demo?

var form = document.getElementById("form"); 
var tools = document.createElement('select'); 
tools.id = 'sTools'; 
tools.name = 'sTools'; 
form.appendChild(tools); 

var cTool; 
var e = document.getElementById("sTools"); 
var options = [ 
    ["Forge",  "33"], 
    ["Workbench", "1391"], 
    ["Oven",  "1753"] 
]; 

for(var i=0; i<options.length; i++){ 
    var opt = document.createElement('option'); 
    opt.appendChild(document.createTextNode(options[i][0])); 
    opt.value = options[i][1]; 
    tools.appendChild(opt); 
} 

tools.onchange = function(){ 
    cTool = e.options[e.selectedIndex].value; 
    alert(cTool); 
}; 
귀하의 코드가 잘 동작하는 것
+0

그리고 덕분에 요소를 작성하여 루프를 작성하지 않아도 코드를 정리할 수있었습니다! – user3763307

+0

@ user3763307 :) 오신 것을 환영합니다! –

관련 문제