2016-06-08 4 views
0

안녕하세요 Stackoverflow!배열로 메뉴를 드롭 다운 각 옵션의 값을 정의

오늘 나는 array으로 drop-down menu을 만들려고했습니다. 작동했지만이 후에 발생하는 문제는 으로 인쇄 된 values을 정의하는 것입니다.

지금은 drop-down menu에 관한 코드입니다.

HTML

<select id="selectDestinasjon"> 
    <option>Velg ett sted</option> 
</select> 

자바 스크립트

var select = document.getElementById("selectDestinasjon"); 
var options = ["Konsberg", "Trysil", "Beitostølen"]; 
for (var i = 0; i < options.length; i++) { 
    var opt = options[i]; 
    var el = document.createElement("option"); 
    el.textContent = opt; 
    el.value = opt; 
    select.appendChild(el); 
} 

하지만 내가 예약을 원하기 때문에 나중에, 계산기로 impliment 수있는 각 옵션에 값을주고 싶어 이 옵션들은 각각 다른 값을 가지며 계산기는 현재 선택된 옵션에서 정보를 검색하고 선택된 옵션에 따라 가격을 설정합니다.

불명확하거나 너무 자세하지 않은 부분이 있으면 질문 해주세요. 설명을 위해 최선을 다할 것입니다.

JSFIDDLE https://jsfiddle.net/a3pe6zcu/

+0

코드가 작동하는 것 같습니다. 각 옵션에는 값이 있습니다. –

+0

가격 지정 값을 의미합니다. 각각의 개별 장소는 1 달러 가격이지만 배열을 통해 구현됩니다. – ImNewToThis

+0

객체 또는 키가있는 배열을 사용하십시오. – Lewis

답변

1

당신은 이런 식으로 뭔가를 찾고 계십니까? 가격과 장소 이름을 포함하도록 데이터를 업데이트했습니다. 이제 선택 영역에는 텍스트가 장소로, 가격이 값으로 사용됩니다. Updated fiddle

var select = document.getElementById("selectDestinasjon"); 
var options = [{"place": "Konsberg","price":"$20"}, {"place":"Trysil","price":"$30"}, {"place":"Beitostølen","price":"$40"}]; 
for(var i = 0; i < options.length; i++) { 
var opt = options[i]; 
var el = document.createElement("option"); 
el.textContent = opt.place; 
el.value = opt.price; 
select.appendChild(el); 
} 
+0

이것이 제가 생각하는 바로 그 부분에 가깝다고 생각합니다.하지만 코드를 이해하도록 요청해야합니다 (따라서 내 이름). value = opt.price와 같이 설정 한 여러 가지 값은 선택된 가격을 계산하는 데별로 도움이되지 않습니까? – ImNewToThis

+0

물론 문제는 아닙니다. options 배열에는 해쉬 ({ 'name': 'value'} 쌍) 요소가 있습니다. 각 요소는 특정 장소의 데이터 (장소, 가격)에 해당합니다. 당신이 가지고있는 for 루프는 내가 가진 것과 정확히 같습니다. 그러나 for 루프 내에서 장소의 이름을 얻었지만 내 opt는 해시 객체가 될 것입니다. 해쉬에 접근하려면'opt.place'와'opt.price'를 사용하고 있습니다. 희망은 그 말이 맞습니다. 나머지는 이미 가지고있는 것입니다. 이 세 줄만 바뀌 었습니다. – phreakv6

+0

나는 이해한다라고 생각한다. 그러나 단지 넣는다. 손에 여분의 시간이있는 경우 가격을 목표로 삼아 예제를 만들 수 있습니까? – ImNewToThis