Tôi có một widget dijit.form.Select. Nó được gắn với một kho dữ liệu, nếu điều đó quan trọng. Nó chứa đầy một số tùy chọn rồi. Tất cả những gì tôi muốn làm là lập trình giá trị của nó. Tôi có thể lấy giá trị của nó bằng cách sử dụng myWidget.attr('value')
nhưng nếu tôi cố gắng làm myWidget.attr('value', 5)
ví dụ (trong đó 5 là một trong các giá trị hợp lệ), tất cả những gì cần làm là đặt lại tiện ích con để chọn tùy chọn đầu tiên, bất kể giá trị nào tôi cung cấp.Đặt giá trị (tùy chọn đã chọn) của một widget dijit.form.Select
Điều này có vẻ là một lỗi và không có bất kỳ kiểm tra hoặc tài liệu nào cho thấy cách thực hiện những gì tôi muốn. Nhưng có cách nào, ngay cả khi đó là một hack bẩn?
Tôi đang sử dụng Dojo 1.4.0. Lưu ý rằng dijit.form.Select là tên mới cho dojox.form.DropDownSelect.
chỉnh sửa: Tôi thậm chí đã thử đặt lại tiện ích với tất cả các tùy chọn mới, nhưng nó bỏ qua tùy chọn có selected = true
và chỉ chọn tùy chọn đầu tiên. Vẫn còn phải có một cách mặc dù.
Có một trang thử nghiệm tại đây: http://bit.ly/9qitSk mà bạn có thể gây rối. Sử dụng lỗi lửa Tôi đã sử dụng dijit.byId ('s9'). Attr ('value', 'CO') thành công trên trang đó. Điều đó sẽ đặt "dựa trên cửa hàng" Chọn trên trang đó. – jbarz
@ Joe B Rất cảm ơn - Tôi đã từng thấy điều đó trước đây, nhưng không thấy ví dụ về cài đặt giá trị. Tôi đã thử làm điều đó trong firebug với widget riêng của tôi Chọn, mà không làm việc, vì vậy tôi tự hỏi những gì khác nhau ... – aehlke
BTW đăng đó như là một câu trả lời và tôi sẽ upvote bạn. – aehlke