2011-07-06 41 views
17

Mã:Làm thế nào để cư các tùy chọn của một yếu tố lựa chọn trong javascript

var newSelect=document.createElement('select'); 
index=0; 
var optn = document.createElement("option"); 

//langArray is an array that contains different items..the size 
//is not fixed for this array. 

for(element in langArray) 
{ 
    //Now i want to assign each item in langArray to each option tag 
    //will it be sumthng like "optn.options[index]=new Option("Sports", "sportsvalue", true, false); 
    //optn.accept(langArray[0]); 
    index++; 
} 

Tôi đang cố gắng để có được lựa chọn dân cư bằng cách này nhưng nó không đến tất cả đúng như tôi không biết làm thế nào để cư các tùy chọn từ một mảng trong JS. Tôi thậm chí có phải sử dụng vòng lặp hoặc tôi có thể chỉ cần gán các langArray cho một số tài sản của phần tử chọn và mọi điều sẽ được và chạy?

Trả lời

27

Bạn có thể tạo tùy chọn bên trong vòng lặp;

for(element in langArray) 
{ 
    var opt = document.createElement("option"); 
    opt.value= index; 
    opt.innerHTML = element; // whatever property it has 

    // then append it to the select element 
    newSelect.appendChild(opt); 
    index++; 
} 

// then append the select to an element in the dom 
+1

cảm ơn rất nhiều ... tôi nghĩ nó shud là 'newSelect.appendChild (opt)' dont u think? 'newSelect.append (opt);' không hoạt động cho tôi !! – samach

+0

cảm ơn vì đã sửa – Ibu

11

Bạn cần phải tạo yếu tố option của bạn bên trong vòng lặp của bạn, thiết lập các thuộc tính và văn bản và thêm nó vào select yếu tố:

var select = document.createElement('select'), 
    option, 
    i = 0, 
    il = langArray.length; 

for (; i < il; i += 1) { 
    option = document.createElement('option'); 
    option.setAttribute('value', langArray[i].value); 
    option.appendChild(document.createTextNode(langArray[i].text)); 
    select.appendChild(option); 
} 

này giả định rằng langArray của bạn trông giống như sau:

var langArray = [ 
    {value: "val1", text: "text 1"}, 
    {value: "val2", text: "text 2"} 
]; 

Bạn sẽ cần phải chỉnh sửa mã để phù hợp với mảng của mình

Các vấn đề liên quan