2014-12-10 4 views
0


나는이 다음 HTML 코드를 생성하는 형태로이 아이들을 모두 추가쓰기 값

var form = document.getElementById("form"); 
var thirdElement = document.createElement("select"); 
     var thirdElementOp1 = document.createElement("option"); 
     thirdElementOp1.value = "--IDEAS--"; 
     var thirdElementOp2 = document.createElement("option"); 
     thirdElementOp2.value = "Random"; 
     var thirdElementOp3 = document.createElement("option"); 
     thirdElementOp3.value = "--FUN--"; 
     var thirdElementOp4 = document.createElement("option"); 
     thirdElementOp4.value = "Reflective"; 
     thirdElement.appendChild(thirdElementOp1); 
     thirdElement.appendChild(thirdElementOp2); 
     thirdElement.appendChild(thirdElementOp3); 
     thirdElement.appendChild(thirdElementOp4); 
     form.appendChild(thirdElement); 

이 코드가 있습니다

<form id="form" action="home.php" method="post"> 
    <select> 
     <option value="TheJSGeneratedValue"></option> 
     <option value="TheJSGeneratedValue"></option> 
     <option value="TheJSGeneratedValue"></option> 
     <option value="TheJSGeneratedValue"></option> 
    </select> 
</form> 

내 문제가 있다는 것입니다에게 이 값들은 드롭 다운 메뉴에 표시 될 수 있도록 다음과 같이 태그 내부에 써야합니다.

JavaScript에서이 작업을 수행 할 수있는 방법이 있습니까? 나는 jQuery 응답을 받아 들인다. 자바 스크립트를 고맙게 생각한다. 아마도 thirdElementOp1.valueInside = "Value" 또는 그와 비슷한 것일 수도있다.

+0

이 방법이 효과가 있습니까? http://stackoverflow.com/a/14827245/3264286 – Delorian

답변

2

표시 텍스트는 값과 별개이다. 디스플레이 텍스트는 .innerHTML 속성으로 설정합니다.

thirdElementOp1.value = "--IDEAS--"; 
thirdElementOp1.innerHTML = "--IDEAS--"; 

.value 속성은 특정 옵션을 선택하거나 양식을 제출하고 해당 옵션이 선택되는 경우 어떤 값이 서버로 전송 될 경우 프로그램 값이 선택이있을 것이다 것입니다. .value은 디스플레이 값과 별개입니다. 두 속성을 모두 같은 값으로 설정하기 만하면 원하는 값으로 설정할 수 있습니다.


참고로 값 배열을 사용하고 배열에서 옵션 개체를 작성하는 경우 코드가 더 복잡해질 수 있습니다. 복사 된 코드가 많이 필요 없으며 훨씬 더 많습니다 DRY :

var form = document.getElementById("form"); 
var select = document.createElement("select"), option; 
var items = ["--IDEAS--", "Random", "--FUN--", "Reflective"]; 
for (var i = 0; i < items.length; i++) { 
    option = document.createElement("option"); 
    option.value = option.innerHTML = items[i]; 
    select.appendChild(option); 
} 
form.appendChild(select); 
+0

이 작업은 미안합니다. 초보자 용 질문이었습니다. JavaScript 튜토리얼에서이 부분을 잊어 버렸습니다. 저는 서버 측 사람입니다. , 고마워, 일단 StackOverflow 날 대답을 승인합니다! –