2010-07-08 32 views

Trả lời

2

Đối thả xuống:

$('idOfSelect').selectedIndex = x; 

Đối với văn bản:

$('IdOfInput').value = 'Foo'; 
+0

là có cách nào khác của tùy chọn để làm điều này. như trong jQuery ('# idOfSelect'). val ([2,4]) hoặc jQuery ('# idOfInput'). val ('Foo') – YuanChen

+0

về phần tử chọn Tôi chỉ biết một mảng giá trị của phần tử chọn. làm thế nào tôi có thể biến nó thành selectedIndex – YuanChen

8

cơ bản - element.get("value"); trả về giá trị cho tất cả các nguyên liệu đầu vào, lựa chọn và textareas, .set("value", value); để thiết lập chúng (trừ bội)

nó phức tạp hơn để chọn với nhiều - ở trên trả về FIRST chỉ được chọn, bạn cần phải làm element.getSelected().get("value") để nhận một mảng các giá trị (.getSelected() ngày của riêng nó sẽ trả về các con trỏ tới các phần tử thực tế option)

và cuối cùng, để đặt nhiều lựa chọn, chỉ cách tôi có thể nghĩ về atm là viết nguyên mẫu nguyên tố riêng của bạn thông qua con các nút với các giá trị theo quy định và thực hiện .set("selected", "selected")

cho tôi biết nếu bạn cần bất kỳ sự giúp đỡ viết sau

2

Câu trả lời là chính xác về bội, và cần phải sử dụng selectEl.getChildren('option').each(function(option)...

nhưng ngay cả đối với đơn chọn, trong IE (tôi đang thử nghiệm điều này trong IE9) nếu không có thuộc tính "giá trị" trong mỗi tùy chọn thì Mootools không thành công, tức là selectEl.set('value', value) không hoạt động. Trong FF nó hoạt động và trong IE nó hoạt động nếu bạn đặt thuộc tính "value" của mỗi phần tử.

giải pháp của tôi là:

selectEl.getElements('option').each(function(option) { 
    option.selected = option.get('value')==value 
}); 

Lưu ý rằng option.get ('giá trị') làm việc ngay cả trong IE, nơi không có tài sản value, Mootools cung cấp text

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