2012-04-03 28 views
9

Tôi có điều này trong file htm tôijquery populate chọn danh sách

<select id="SelItem"> 

    </select> 

Trong tôi javascript tập Tôi có một phần dành cho jquery Tôi đã sau

 var itemval= '<option value="OT">OT</option>'; 

    $("#SelItem").html(itemval); 

Sẽ không sau cư thả của tôi xuống với Cựu ước? Nó không cư bất cứ điều gì trong danh sách thả xuống

+2

[Có vẻ ổn với tôi.] (Http://jsfiddle.net/mattball/zGFek/) Bạn đang chạy mã trên DOM đã sẵn sàng chưa? –

+1

Bạn có bao gồm 'jQuery' trên trang của mình không? – ShankarSangoli

Trả lời

14

Bạn có thể muốn xem xét sử dụng append:

//Creates the item 
var itemval= '<option value="OT">OT</option>'; 

//Appends it within your select element 
$("#SelItem").append(itemval);​ 

Example

Cập nhật

Như js1568 chỉ ra - vấn đề là khả năng bắt nguồn nhất từ trang không được tải khi mã JS/jQuery đang được thực hiện. Bạn có thể sửa lỗi này với các thông tin sau:

$(document).ready(function() 
{ 
    //Creates the item 
    var itemval= '<option value="OT">OT</option>'; 

    //Appends it within your select element 
    $("#SelItem").append(itemval);​ 
}); 
+3

Nếu mã trong OP không hoạt động, điều gì khiến bạn nghĩ mã này sẽ? –

+0

@ MДΓΓ - Tôi đã cung cấp một tùy chọn thay thế và một ví dụ làm việc về nó. Có vẻ như vấn đề có nhiều khả năng liên quan trực tiếp đến khi JS được gọi là tuy nhiên, giống như js1568 đã chỉ ra. –

1

Bạn cần đợi cho đến khi trang được tải trước khi chạy mã này. Hãy thử gói mã của bạn bên trong hàm $(document).ready().

Introducing $(document).ready()

0

Vấn đề là khi jquery được gọi, không phải công việc của nó.

$(document).ready(function() { 
    var itemval= '<option value="OT">OT</option>'; 
    $("#SelItem").html(itemval); 
}); 
Các vấn đề liên quan